//*******引进静态成员变量的作用就是声明一个属于类而不属于对象的全局变量。意味着它为该类的所有实例所共享, //也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。 //在某个类A中声明一个static int number;初始化为0。这个number就能被所有A的实例共用。 // 在A的构造函数里加上number++,在A的析构函数里加上number--。 // 那么每生成一个A的实例,number就加一,每销毁一个A的实例,number就减一, // 这样,number就可以记录程序中共生成了多少个A的实例。 // 这只是静态成员的一种用法而已。 #include "iostream" using namespace std; class A { public: A(int num):it(num){total++;} static int total; //静态变量的 声明 ;告诉编译器total属于类而不是某个对象 ~A(){total--;} int get(){return it;} void set(int age){it = age;} private: int it; }; int A::total = 0 ; //静态变量的 定义 ;(必不可少 否则编译器就会报错) int main() { A a(12); cout<<a.get()<<" "<<A::total<<endl;//静态变量的调用,使用类成员限定符 return 0; }
原文地址:http://www.cnblogs.com/zenseven/p/3794070.html