C++ 非静态成员引用必须与特定对象相对
时间: 2024-06-13 19:06:37 浏览: 403
在C++中,非静态成员引用必须与特定对象相对应。这是因为非静态成员属于类的实例(对象),每个对象都有自己的一份非静态成员数据。因此,如果要访问或引用类的非静态成员,必须使用特定的对象来进行访问或引用。以下是一个示例说明:
```cpp
#include <iostream>
class MyClass {
public:
int value;
void printValue() {
std::cout << "Value: " << value << std::endl;
}
};
int main() {
MyClass obj1;
obj1.value = 10;
obj1.printValue(); // 输出:Value: 10
MyClass obj2;
obj2.value = 20;
obj2.printValue(); // 输出:Value: 20
return 0;
}
```
在上面的示例中,我们定义了一个名为`MyClass`的类,它有一个非静态成员变量`value`和一个成员函数`printValue()`。在`main()`函数中,我们创建了两个`MyClass`类的对象`obj1`和`obj2`,并分别给它们的`value`成员变量赋值。然后,我们通过调用对象的成员函数`printValue()`来输出它们的`value`成员变量的值。由于每个对象都有自己的一份非静态成员数据,因此输出结果分别为`Value: 10`和`Value: 20`。
阅读全文