在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
)來修改靜態成員的值。請注意,當通過實例修改靜態成員時,實際上是通過類名訪問靜態成員并對其進行修改。