美文网首页C++复习
C++静态成员变量与静态成员函数

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

作者: 凉拌姨妈好吃 | 来源:发表于2018-04-18 11:01 被阅读15次

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

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

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

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

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

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

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

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

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

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

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

引用 const

相关文章

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

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

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

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

  • [初学C++]静态成员

    静态成员变量和成员函数 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所...

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

    为什么要使用静态成员变量? 某一个变量需要被多个对象共享 静态成员变量如何进行初始化? 类外初始化(类外初始化在构...

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

    静态成员:在说明前面加了 static 关键字的成员 普通成员变量每个对象各自的一份,而静态成员变量一共就一份,为...

  • C++中的成员变量和成员函数

    C++中的类有两个成分: (1)成员变量 成员变量按照作用域分为静态成员变量和非静态成员变量,C++中成员变量的默...

  • c++语法2

    接上篇我们继续学习静态成员、友元函数、继承、多重继承,继承访问权限等 静态成员与友元函数:c++中静态成员与jav...

  • C++中的静态成员

    静态成员变量 在C++中可以定义静态成员变量静态成员变量属于整个类所有静态成员变量的生命期不依赖于任何对象可以通过...

  • C++静态成员与友元

    静态成员 静态变量的初始化(如何定义) static int getnum()//静态成员函数 静态成员函数只能操...

  • 深入理解C++对象模型

    1. C++对象模型 所有的非静态数据成员存储在对象本身中。所有的静态数据成员、成员函数(包括静态与非静态)都置于...

网友评论

  • n油炸小朋友:如果有不同的构造函数都有对静态成员变量初始化不同的值 如1和2 生成对象1静态成员变量为1 生成对象2静态成员为2 那对象1再用静态成员变量的时候就不是它想要的1了 这个情况会出现吗?

本文标题:C++静态成员变量与静态成员函数

本文链接:https://www.haomeiwen.com/subject/atkvkftx.html