public
, private
和 protected
C++ 继承有什么区别?
我在 SO 上发现的所有问题都涉及特定案例。
原文由 user106599 发布,翻译遵循 CC BY-SA 4.0 许可协议
public
, private
和 protected
C++ 继承有什么区别?
我在 SO 上发现的所有问题都涉及特定案例。
原文由 user106599 发布,翻译遵循 CC BY-SA 4.0 许可协议
我尝试使用下面的图片来解释继承。
主要要点是父类的私有成员永远不能从派生/子类直接访问,但您可以使用父类的成员函数来访问父类的私有成员。私有变量始终存在于派生类中,但派生类无法访问它。就像他们的一样,但你不能用自己的眼睛看到,但如果你问家长班的某个人,那么他可以向你描述。
原文由 shubhcodegate 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
为了回答这个问题,我想先用我自己的话来描述一下成员的访问者。如果您已经知道这一点,请跳到标题“下一个:”。
我知道三个访问器:
public
,protected
和private
。让:
Base
也知道Base
包含publicMember
。Base
包含protectedMember
。Base
没有人知道privateMember
。“知道”,我的意思是“承认存在,因此能够访问”。
下一个:
公共、私有和受保护的继承也是如此。让我们考虑一个类
Base
和一个类Child
继承自Base
。public
, everything that is aware ofBase
andChild
is also aware thatChild
inherits fromBase
.protected
,则只有Child
及其子级知道他们继承自Base
。private
,那么除了Child
之外没有人知道继承。