您好,欢迎来到花图问答。
搜索
您的当前位置:首页C++静态成员变量与静态成员函数

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

来源:花图问答

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

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

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

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

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

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

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

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

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

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

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

引用 const

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务