C++静态成员能修改吗

c++
1079
2024/11/9 3:31:07
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,静态成员属于类本身,而不是类的实例。因此,您不能直接通过类的实例来修改静态成员。要修改静态成员,您需要使用类名或作用域解析运算符(::)。

以下是一个示例,说明如何修改静态成员:

#include <iostream>

class MyClass {
public:
    static int myStaticMember; // 声明静态成员
};

int MyClass::myStaticMember = 0; // 初始化静态成员

int main() {
    MyClass::myStaticMember = 10; // 通过类名修改静态成员
    std::cout << "My static member value: " << MyClass::myStaticMember << std::endl;

    MyClass obj1;
    MyClass obj2;
    obj1.myStaticMember = 20; // 通过类的实例修改静态成员
    std::cout << "obj1's static member value: " << obj1.myStaticMember << std::endl;
    std::cout << "obj2's static member value: " << obj2.myStaticMember << std::endl;

    return 0;
}

输出:

My static member value: 10
obj1's static member value: 20
obj2's static member value: 20

在这个例子中,我们声明了一个名为MyClass的类,其中包含一个静态成员myStaticMember。我们可以通过类名(MyClass::myStaticMember)或类的实例(obj1.myStaticMember)来修改静态成员的值。请注意,当通过实例修改静态成员时,实际上是通过类名访问静态成员并对其进行修改。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++中wchar_t转const char怎么实现