gpt4 book ai didi

c++ - 遗产分类

转载 作者:行者123 更新时间:2023-11-27 23:19:26 26 4
gpt4 key购买 nike

我在不久的将来要参加考试,我真的被一个找不到任何答案的问题困住了。

假设类 CI 继承类 Sup 为:

class CI: protected Sup
{};

为什么这不是分类遗产?

提前致谢,感谢所有帮助。

最佳答案

在C++中,只有公有继承才是真正的继承,即子类会继承父类的接口(interface)(即IS-A关系)。体面的继承应该满足 Liskov substitution principle .

对于protected/private继承,它们实际上是一种包含/组合,因为派生类会隐藏其基类的接口(interface)(作为protected/private成员)并且只使用基类的实现(即 HAS-A 或 Is-Implemented-In-Terms-Of 关系)。

您可以在 SO 上引用这个问题以便更好地理解:Why do we actually need Private or Protected inheritance in C++?

也就是说,protected/private 继承是 C++ 中一个有争议的特性,它被 Java 和 C# 等 C++ 后继者放弃了。

关于c++ - 遗产分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com