c++ 类的静态成员 声明?初始化 ?
类的静态成员
静态变量和全局变量一样,都保存在全局数据区,从程序开始到结束。
一定要在类外,.cpp中定义类的静态成员。
那么问题来了,我在.h文件中声明类的静态成员,在.h中(类外)定义并初始化它行不行 ?
答案是不行。如果多个.cpp include这个.h,那么就会多次定义这个静态成员。
总之,在.h中声明类的静态属性,在.cpp中定义并初始化即可。
权限?
设定static 成员变量初值时, 不受任何访问权限的束缚。
在类外部调用静态变量要将其设置为public,即静态变量的调用受访问权限影响
初始化时要指定类别?
因为 这是一个初值设定动作,不是一个数量指定动作。静态变量这时候才定义出来,没有初始化动作,程序会产生链接错误。