静态成员定义
时间: 2023-09-28 15:05:21 浏览: 82
静态成员是属于整个类而不是类的任何特定实例的成员。静态成员变量和静态成员函数在定义时需要使用 static 关键字进行声明。静态成员变量的定义通常放在类的声明之外,需要在定义时指定数据类型、类名和变量名,例如:
```cpp
class MyClass {
public:
static int myStaticVar;
};
int MyClass::myStaticVar = 0;
```
这里,我们定义了一个名为 `myStaticVar` 的静态成员变量,它属于 `MyClass` 类。在类的声明中,变量只是被声明为静态成员变量,而不是定义。在类的定义之外,我们再次使用类名和作用域解析运算符 `::` 来定义这个变量。此时,可以为静态成员变量赋初值。
静态成员函数的定义也要使用类名和作用域解析运算符 `::`,例如:
```cpp
class MyClass {
public:
static void myStaticFunc() {
// ...
}
};
int main() {
MyClass::myStaticFunc();
return 0;
}
```
这里,我们定义了一个名为 `myStaticFunc` 的静态成员函数,它属于 `MyClass` 类。在 `main` 函数中,我们使用类名和作用域解析运算符 `::` 来调用这个函数。
静态成员变量和静态成员函数可以通过类名直接访问,不需要创建类的实例。这使得它们可以在类的所有实例之间共享。它们还可以作为命名空间使用,可以在全局作用域中定义静态成员变量和静态成员函数,但使用类名进行访问。
阅读全文