c++ - 在继承中访问私有(private)成员

标签 c++ inheritance private

我有一个 A 类,它有一个字段 val 声明为私有(private)。 我想声明一个类 B,它继承自 A 并可以访问 val。 有没有办法在 C++ 上做到这一点?

我想这样做是因为我需要重载A的一些函数,而根本不改变A代码。

谢谢。

最佳答案

快速回答:你没有。这就是 protected 关键字的用途,如果您想授予对子类的访问权限但不授予其他人的访问权限,则可以使用该关键字。

private 意味着没有人可以访问这些变量,甚至是子类。

如果您根本无法更改 A 中的代码,则该变量可能存在 public/protected 访问方法。否则,这些变量不应该从子类中访问,只有 hack 可以提供帮助(我不鼓励这样做!)。

关于c++ - 在继承中访问私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241462/

相关文章:

c++ - 复合条件表达式中的排序

c++ - 如何更好地检查两个 char 变量是否在某些值集中?

java - 比较枚举条目 - Java

c++ - 对于私有(private)继承,什么时候可以向上转型?

java - 我无法理解的继承问题

java - 子类会继承私有(private)字段吗?

c++ - 使用模板...我的代码有什么问题?

c++ - 在macOS的片段着色器中未声明gl_PointCoord吗?

php - 使用 YouTube API v3 列出所有私有(private)视频

c++ - 无法访问类 'Soldier' 中声明的私有(private)成员