静态成员是指属于类而不是类的实例对象的成员变量或成员函数,可以通过类名直接访问,而无需创建实例对象。
静态成员的声明需在类定义中,但需要在定义体外初始化。静态成员变量的初始化可以放在类外部的文件中进行,即在类名前加上类作用域运算符“::”后,再加上静态成员名。
静态成员的访问需用类名加上作用域运算符“::”来访问,而不是对象名加上点运算符。
静态成员常用于实现类特定的常量,如在类中定义一个常量(例如类最大数量),在静态数据成员中定义并初始化它,然后在程序中可以直接通过类名来访问这个常量。
以下是一个静态成员变量和静态成员函数的示例代码:
#include <iostream>
using namespace std;
class MyClass {
public:
static int staticVar; // static data member declaration
static void staticFunc() { // static member function definition
cout << "This is a static member function." << endl;
}
};
int MyClass::staticVar = 101; // static data member initialization
int main() {
cout << MyClass::staticVar << endl; // access static variable using class name
MyClass::staticFunc(); // access static function using class name
return 0;
}