首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

[请问]静态成员变量为什么一定要初始化?并且只能在cpp中初始化

2012-04-09 
[请教]静态成员变量为什么一定要初始化?并且只能在cpp中初始化?类的静态成员变量,为什么一定要初始化,而不

[请教]静态成员变量为什么一定要初始化?并且只能在cpp中初始化?
类的静态成员变量,为什么一定要初始化,而不是给一个默认初始值?
为什么不能在类的声明中初始化呢?
谢谢


[解决办法]
可以参考:
特殊数据类型成员变量的初始化
[解决办法]
当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。
各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。
静态数据成员的用途之一是统计有多少个对象实际存在。
静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝图,在其中指定初值是不允许的。也不能在够造函数中初始化该成员,
因为静态数据成员为类的各个对象共享,那么每次创建一个类的对象则静态数据成员都要被重新初始化。

热点排行