类的静态数据成员,静态数据不是某个实例对象的,而是属于整个类,或者你可以这样理解,类的静态数据成员是一个全局变量,不是类的成员,只不过这个全局变量只能被这个类使用,当然,它实质上还是类的成员,要被初始化,但是不是在构造函数里,而是在主函数前面,即便是私有成员,如:
#include <iostream>
using namespace std;
class MyClass
{
private:
static int nData;
public:
void m_Display_Data ();
MyClass (){};//什么都不做的构造函数
~MyClass (){};//什么都不做的析构函数
};
void MyClass::m_Display_Data ()
{
cout << nData << endl;
}
int MyClass::nData = 5;//初始化静态的私有成员,尽管是私有的,但c++依然允许这样使用
int main()
{
MyClass A;
A.m_Display_Data ();
return 0;
}
程序运行结果为:5