溫馨提示×

C++靜態(tài)成員能修改嗎

c++
小樊
81
2024-11-09 03:02:29
欄目: 編程語言

在C++中,靜態(tài)成員屬于類本身,而不是類的實例。因此,您不能直接通過類的實例來修改靜態(tài)成員。要修改靜態(tài)成員,您需要使用類名或作用域解析運算符(::)。

以下是一個示例,說明如何修改靜態(tài)成員:

#include <iostream>

class MyClass {
public:
    static int myStaticMember; // 聲明靜態(tài)成員
};

int MyClass::myStaticMember = 0; // 初始化靜態(tài)成員

int main() {
    MyClass::myStaticMember = 10; // 通過類名修改靜態(tài)成員
    std::cout << "My static member value: " << MyClass::myStaticMember << std::endl;

    MyClass obj1;
    MyClass obj2;
    obj1.myStaticMember = 20; // 通過類的實例修改靜態(tài)成員
    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的類,其中包含一個靜態(tài)成員myStaticMember。我們可以通過類名(MyClass::myStaticMember)或類的實例(obj1.myStaticMember)來修改靜態(tài)成員的值。請注意,當通過實例修改靜態(tài)成員時,實際上是通過類名訪問靜態(tài)成員并對其進行修改。

0