只有静态的成员函数,才能改变静态数据成员的值
时间: 2024-09-11 21:19:04 浏览: 35
C++静态成员变量和静态成员函数的使用方法总结
5星 · 资源好评率100%
静态数据成员(static member)是属于类本身的属性,而不是类的实例。这意味着每个类的所有对象共享同一个静态数据成员的副本。因此,要修改静态数据成员的值,确实只能通过静态成员函数(static function)来操作。
静态成员函数不属于任何一个具体的对象,而是直接与类关联,它可以直接访问类的静态数据成员。当我们调用这样的函数时,不需要创建类的对象,可以直接按类名调用。例如:
```cpp
class MyClass {
public:
static void setData(int value) { // 静态成员函数
staticData = value; // 修改静态数据成员
}
private:
static int staticData;
};
void MyClass::setData(int value) { // 类外也可以这么调用
staticData = value;
}
int main() {
MyClass::setData(10); // 直接通过类名调用
return 0;
}
```
在这个例子中,`setData`函数就是用来修改静态数据成员`staticData`的。
阅读全文