类的静态成员

Posted wangkaia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的静态成员相关的知识,希望对你有一定的参考价值。

声明类的静态成员

  通过将类的成员前面加上static关键字,使得类成员成为其静态成员,静态成员可以是private也可以是public的。

静态成员可以是常量,引用,指针,类类型等。

  类的静态成员存在于任何对象之外,对象中不包含任何与静态成员相关的数据。类似的类的静态成员函数,他们

不包含this指针,因此静态成员函数不能声明为const的,我们不能在静态成员的函数体内显式或者引式的调用this指

针。

定义静态成员

  首先是静态成员函数,我们可以在类的内部定义静态成员函数。但是如果在类的外部定义静态成员函数的话,则

static不能重复,其只能出现在类内的声明当中。

  类的静态数据成员不属于任何一个对象,因此其不是在创建对象的时候被定义的,因此静态数据成员不能由类的

构造函数来进行初始化。一般而言我们不在类的内部初始化静态成员,相反的在类的外部定义和初始化静态成员。一

个静态数据成员只能够定义一次。

  通常类的静态成员不在类的内部进行初始化,但是整型的静态常量数据成员可以在类内进行初始化,即static const

int 类型的静态常量数据成员可以在类内初始化。

 

静态成员所能适用的具体场景:

  1 静态数据成员可以是不完全的类型,比如说在定义一个类的过程当中,静态成员可以声明成其所属的类型,而非静态

成员只能声明成所属类的指针或应用。

  2 静态数据成员可以使用作为默认的实参,非静态数据成员无法使用来作为默认的实参。

以上是关于类的静态成员的主要内容,如果未能解决你的问题,请参考以下文章

静态内部类

c++ 类的静态成员

14类的静态成员和实例成员

5类的静态成员

静态数据成员 和 静态成员函数

第25课 类的静态成员变量