C++复习

C++静态成员变量与静态成员函数

2018-04-18  本文已影响15人  凉拌姨妈好吃

为什么要使用静态成员变量?

某一个变量需要被多个对象共享

静态成员变量如何进行初始化?

类外初始化(类外初始化在构造函数之前进行,所以如果构造函数重新定义了静态成员变量的值,那么最后静态成员变量的值为后面的值)

重要:一定不要在头文件内进行初始化。静态成员变量如果在头文件内进行初始化,就会被认为是外部链接,那么链接的时候其他文件也可以访问到它。因为头文件被嵌套包含,在编译时包含该头文件的所有文件编译生成.obj文件都包含了该静态成员变量,那么在使用的时候到底用哪个obj里的静态成员变量呢?这里就会出错。

  <数据类型><类名>::静态成员变量名=初始化值

私有静态成员变量被调用前需要实例化类对象,通过成员函数调用私有静态成员变量。

共有静态成员变量要用类名限定变量,而不是通过对象名。(如类A中的静态变量b  可以通过A::b访问)

静态成员变量在类内声明时必须加上static标识符,在类外初始化不能加。

静态成员函数只能访问静态成员变量,或者通过该类的对象名访问非静态成员变量。

一定要使用初始化列表初始化的有以下两种情况

引用 const

上一篇下一篇

猜你喜欢

热点阅读