通过加上作用域,我们可以在类的外部访问和操作静态变量。需要注意的是,静态变量只有一份副本,无论创建多少个类的实例,它们都共享同一份静态变量。举例
时间: 2024-04-12 22:30:56 浏览: 52
当我们在类中定义了一个静态变量时,无论创建多少个类的实例,它们都共享同一份静态变量。通过加上作用域操作符(::),我们可以在类的外部访问和操作这个静态变量。
下面是一个示例:
```cpp
#include <iostream>
class MyClass {
public:
static int staticVariable;
};
int MyClass::staticVariable = 10; // 静态变量的定义和初始化
int main() {
std::cout << MyClass::staticVariable << std::endl; // 通过类名加作用域访问静态变量
MyClass::staticVariable = 20; // 修改静态变量的值
std::cout << MyClass::staticVariable << std::endl; // 再次访问静态变量
MyClass obj1;
MyClass obj2;
obj1.staticVariable = 30; // 通过对象访问和修改静态变量
std::cout << obj2.staticVariable << std::endl; // 通过另一个对象访问静态变量
return 0;
}
```
在上面的示例中,我们定义了一个名为`MyClass`的类,并声明了一个静态变量`staticVariable`。在`main`函数中,我们通过类名加作用域操作符访问和修改了静态变量的值。
输出结果将会是:
```
10
20
30
```
无论是通过类名还是通过类的对象,我们都可以使用作用域操作符来访问和操作静态变量。静态变量只有一份副本,因此无论通过哪个对象进行访问或修改,都会影响到所有其他对象共享的静态变量。
阅读全文