C++中静态数据成员
类的静态成员不能由类的构造函数来初始化。因为即使不存在类的任何对象时,类的静态成员依然存在并且可以被使用。类的静态成员也不能访问任何类的非静态成员。
类名和类对象都可以直接调用静态数据成员。因为静态数据成员在执行构造函数之前都已经存在了。
但如果静态成员是整型或是枚举型const,则可以在类声明中初始化!!
static修饰的函数表示该函数是属于类的,而不是属于某一个对象的,没有this指针。
在C++类的成员变量被声明为static(称为静态成员变量),意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,也就是说不管创建多少对象,static修饰的变量只占有一块内存。其修改值为该类的其它所有实例所见;而类的静态成员函数也只能访问静态成员(变量或函数)。static是加了访问控制的全局变量,不被继承。