对基类成员的访问必须都是无二义性的
时间: 2023-06-16 08:03:07 浏览: 213
C++多重继承二义性原理实例解析
5星 · 资源好评率100%
是的,对于基类成员的访问必须是无二义性的。这是因为派生类中可能会定义与基类同名的成员,这时候如果不明确指定访问的是基类成员还是派生类成员,就会产生二义性。为了避免这种情况,可以使用作用域解析符(::)来指定访问的是基类成员,例如:
```
class Base {
public:
int x;
};
class Derived : public Base {
public:
void func() {
x = 1; // 无二义性,访问的是 Derived 类的成员 x
Base::x = 2; // 明确指定访问的是 Base 类的成员 x
}
};
```
阅读全文