c++ 类的静态成员 声明?初始化 ?

类的静态成员

静态变量和全局变量一样,都保存在全局数据区,从程序开始到结束。

一定要在类外,.cpp中定义类的静态成员。

那么问题来了,我在.h文件中声明类的静态成员,在.h中(类外)定义并初始化它行不行 ?

答案是不行。如果多个.cpp include这个.h,那么就会多次定义这个静态成员。

 

总之,在.h中声明类的静态属性,在.cpp中定义并初始化即可。

 

权限?

设定static 成员变量初值时, 不受任何访问权限的束缚。

在类外部调用静态变量要将其设置为public,即静态变量的调用受访问权限影响

 

初始化时要指定类别?

因为 这是一个初值设定动作,不是一个数量指定动作。静态变量这时候才定义出来,没有初始化动作,程序会产生链接错误。

 

posted @ 2021-03-15 09:46  卡卡什么卡  阅读(214)  评论(0编辑  收藏  举报