类的静态成员
Posted wangkaia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的静态成员相关的知识,希望对你有一定的参考价值。
声明类的静态成员
通过将类的成员前面加上static关键字,使得类成员成为其静态成员,静态成员可以是private也可以是public的。
静态成员可以是常量,引用,指针,类类型等。
类的静态成员存在于任何对象之外,对象中不包含任何与静态成员相关的数据。类似的类的静态成员函数,他们
不包含this指针,因此静态成员函数不能声明为const的,我们不能在静态成员的函数体内显式或者引式的调用this指
针。
定义静态成员
首先是静态成员函数,我们可以在类的内部定义静态成员函数。但是如果在类的外部定义静态成员函数的话,则
static不能重复,其只能出现在类内的声明当中。
类的静态数据成员不属于任何一个对象,因此其不是在创建对象的时候被定义的,因此静态数据成员不能由类的
构造函数来进行初始化。一般而言我们不在类的内部初始化静态成员,相反的在类的外部定义和初始化静态成员。一
个静态数据成员只能够定义一次。
通常类的静态成员不在类的内部进行初始化,但是整型的静态常量数据成员可以在类内进行初始化,即static const
int 类型的静态常量数据成员可以在类内初始化。
静态成员所能适用的具体场景:
1 静态数据成员可以是不完全的类型,比如说在定义一个类的过程当中,静态成员可以声明成其所属的类型,而非静态
成员只能声明成所属类的指针或应用。
2 静态数据成员可以使用作为默认的实参,非静态数据成员无法使用来作为默认的实参。
以上是关于类的静态成员的主要内容,如果未能解决你的问题,请参考以下文章