C/C++教程

c++ 静态成员和方法

本文主要是介绍c++ 静态成员和方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

static 成员变量是作用于整个类的,存储区是静态区,并不占用类的大小。

class AA
{
public:
	AA(int a, int b)
	{
		m_a = a;
		m_b = b;
	}
	int getC()
	{
		m_c++;
		return m_c;
	}
	//静态的成员方法
	static int& getCC()
	{
		return m_c;
	}
private:
	//static修饰的静态成员变量
	static int m_c;
	int m_a;
	int m_b;
};

//静态成员变量的初始化,一定类的外边。
int AA::m_c = 100;

int main(void)
{
	AA a1(10, 20);
	AA a2(100, 200);

	cout << a1.getC() << endl;//101
	cout << a2.getC() << endl;//102

	//a1.getCC() = 200;
	AA::getCC() = 200;

	cout << a1.getC() << endl;//201
	cout << a2.getC() << endl;//202

	return 0;
}

如果static成员变量是私有变量那么将不能通过类名::变量名访问(int AA::m_c = 100;),只能通过静态方法来间接访问。静态成员的初始化不能在类中初始化,一定要在类外初始化。

静态成员方法只能访问类的静态成员,不能访问类的其他非静态成员。

这篇关于c++ 静态成员和方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!