静态成员变量
静态成员变量:
静态成员变量属于整个类。
通过类名或则对象名访问公有的静态变量。
一个类的所有对象都可以访问同一个共有的静态变量。
特性:
定义是直接加上static关键字。
静态变量的存储是在静态存储区。
语法:
Type ClassName::VarName = value; (在类的外部定义)
#include <stdio.h> class Test { private: static int cCount; public: Test() { cCount++; } ~Test() { --cCount; } int getCount() { return cCount; } }; int Test::cCount = 0; // 单独定义静态成员变量,来分配空间 Test gTest; int main() { Test t1; Test t2; printf("count = %d\n", gTest.getCount()); // 3 printf("count = %d\n", t1.getCount()); // 3 printf("count = %d\n", t2.getCount()); // 3 Test* pt = new Test(); printf("count = %d\n", pt->getCount()); // 4 delete pt; printf("count = %d\n", gTest.getCount()); // 3 return 0; }