c++ 子类使用父类的同名变量
时间: 2024-09-19 19:04:05 浏览: 65
C++ 核心编程 学习笔记
在 C++ 中,子类可以使用父类的同名变量,这叫做成员变量的继承。当子类继承自父类时,它会获得父类的所有公有 (public) 或者保护 (protected) 成员,包括变量和函数。如果父类中有同名的变量,那么子类可以直接访问或覆盖这个变量。
例如:
```cpp
class Parent {
public:
int value; // 父类的变量
};
class Child : public Parent { // 子类继承父类
public:
// 在这里,Child 类也可以有一个同名的变量 value
int value; // 子类有自己的值,这就是方法重载或隐藏的情况
};
```
在 `Child` 类中,`value` 变量有两个,一个是来自 `Parent` 的成员,另一个是 `Child` 自己的独立成员。这种情况下,当我们通过 `Child` 对象访问 `value` 时,如果没有明确指定是哪一种,通常默认的是当前作用域内的,也就是子类的 `value`。
然而,需要注意的是,这样的继承可能会导致名称冲突,尤其是在处理作用域的问题时。为了避免混淆,建议对同名变量使用作用域解析运算符 `::` 明确指明是哪个类的变量,或者为子类的同名变量选择一个新的名字。
阅读全文