#include<iostream>
using namespace std;
class A
{public:
static int n;
A(){ }
~A(){ }
};
int main()
{A *px=new A;
A a[5];
cout<<A::n<<endl;
delete px;
cout<<A::n<<endl;
return 0;}
你在一个类中定义了 static 数据,根据 C++ 的规定, 你还要在类说明的外面显式定义一次。 例如, 在 main() 函数的前面:
int A::n;
整个程序就可以编译了。
你可以在构造函数和析构函数里面填一个赋值语句,给 n 赋不同的值, 这样, 你的main 函数的 cout 会显示不同的结果。
例如:
构造函数可以写 n = 1; 析构函数写 n = -1; 然后你运行程序看看效果。