C++ 「静态数据成员」和「静态成员函数」的简单认识

Posted 胡文杰

tags:

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

静态数据成员

格式:

static 数据类型 数据成员
如:
static float sum;

静态数据成员为所有同类对象所共享, 属于类对象的集合, 不属于某一对象, 可以用类名访问静态数据成员:

类名::静态数据成员
如:
float Student::sum = 0.0;

访问静态数据成员

对象名.静态数据成员
对象指针 -> 静态数据成员

静态数据成员初始化: 应在类外单独进行, 而且应在定义对象之前进行. 一般在 main() 函数之前, 类声明之后的特殊地带为它提供定义和初始化.

格式:

数据类型 类名::静态数据成员 = 初始值;

编译系统自己默认赋初值为0;

在类外, 私有静态数据成员不能被直接访问, 必须通过共有的成员函数访问.

静态成员函数

静态成员函数属于整个类.

格式:

static 返回类型 静态成员函数(参数表)
如:
static void showCountSumAve();

调用共有成员函数格式:

类名::静态成员函数名(实参表)  
对象.静态成员函数名(实参表)  
对象指针 -> 静态成员函数名(实参表)

一般而言, 静态成员函数不访问类中的非静态成员函数. 若确实需要, 只能通过对象名(或对象指针, 对象引用)访问该对象的非静态成员.

非静态成员函数有 this 指针, 而静态成员函数没有 this 指针.

注意与「常数据成员」和「常成员函数」之间别搞混。


以上是关于C++ 「静态数据成员」和「静态成员函数」的简单认识的主要内容,如果未能解决你的问题,请参考以下文章

C++之静态

C++面向对象:静态成员和静态成员函数

C++静态成员

C++类中的常成员和静态成员

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

C++ 类中的静态成员变量,静态成员函数