类的静态成员变量与实例无关,只与相应的类相关。
#include <iostream>
using namespace std;
class MyTest
{
public:
MyTest()
{
cout<<"begin..."<<endl;
cout<<"mem is "<<mem<<endl;
}
~MyTest()
{
cout<<"end..."<<endl;
cout<<"mem is "<<mem<<endl;
}
void AutoIncrement()
{
mem++;
}
static int mem;
};
int MyTest::mem=0;//在类中定义了的静态变量还要在类外部声明才能使用,静态成员必须在外部声明。
int main()
{
MyTest t1;
t1.AutoIncrement();
t1.~MyTest();
cout<<"OK"<<endl;
MyTest t2;
return 0;
}
//学习静态成员变量的使用
//注意,类的数据成员是不能在声明类时初始化的。因为类并不是一个实体,而是一种抽象类型,并不占存储空间,显然无处容纳数据。
*/