C++静态成员是指在类中使用static关键字声明的成员变量或成员函数。静态成员属于类本身,而不是类的对象。它们在所有对象之间共享,只有一份内存空间。静态成员在类外初始化,且只能访问一次。
关键字 static 意味着类中只有一个该成员的实例。静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。静态变量可在成员函数或类的定义外部进行初始化。你也可以在类的定义内部初始化静态变量。
下面的实例演示了静态变量的用法:
#include <iostream>
using namespace std;
class MyClass {
public:
static int staticVar; // 静态成员变量
static void staticFunc() { // 静态成员函数
cout << "This a static function" << endl;
}
};
// 在类外初始化静态成员变量
int MyClass::staticVar = 0;
int main() {
MyClass obj1;
MyClass obj2;
// 访问静态成员变量和函数
cout << "obj1.staticVar: " << obj1.staticVar << endl;
cout << "obj2.staticVar: " << obj2.staticVar << endl;
obj1.staticFunc(); // 通过对象调用静态成员函数
MyClass::staticFunc(); // 通过类名直接调用静态成员函数
system("pause"); // 暂停程序,等待用户按键继续
return 0;
}
obj1.staticVar: 0
obj2.staticVar: 0
This a static function
This a static function
请按任意键继续. . .