C++中静态数据成员

类的静态成员不能由类的构造函数来初始化。因为即使不存在类的任何对象时,类的静态成员依然存在并且可以被使用。类的静态成员也不能访问任何类的非静态成员。

类名和类对象都可以直接调用静态数据成员。因为静态数据成员在执行构造函数之前都已经存在了。 

但如果静态成员是整型或是枚举型const,则可以在类声明中初始化!! 

static修饰的函数表示该函数是属于类的,而不是属于某一个对象的,没有this指针。

 

C++类的成员变量被声明为static(称为静态成员变量),意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,也就是说不管创建多少对象,static修饰的变量只占有一块内存。其修改值为该类的其它所有实例所见;而类的静态成员函数也只能访问静态成员(变量或函数)。static是加了访问控制的全局变量,不被继承。  

 

posted @ 2016-04-14 15:17  LarryKnight  阅读(437)  评论(0编辑  收藏  举报