gpt4 book ai didi

c++ - 为什么通过公开继承另一个类来构建一个类是一种糟糕的做法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:48 24 4
gpt4 key购买 nike

我正在为我的 OOP 期末学习,遇到了一个让我有点难过的问题。问题是“解释为什么通过公开继承 List 类来构建 Stack 类是一种糟糕的方法。描述一个更好的解决方案。”

我不确定我的回答是否正确,但是否因为“公开继承...”?并且最好改为私有(private)继承,这样除了 Stack 之外没有其他类知道继承?

最佳答案

如果派生类公开继承自基类,则派生类基类的一个实例,可能具有一些额外的功能或重写的功能。在堆栈和列表的情况下,堆栈不是列表 - 它在逻辑上不执行列表操作,如搜索、连接、反转等 - 因此从列表继承不是一个好主意。

您可以在这里使用私有(private)继承,但这不是一个特别优雅的解决方案。相反,您可以通过将列表作为私有(private)数据成员来实现堆栈。这就是为什么您经常听到“更喜欢组合(拥有私有(private)数据成员)而不是继承”的原因。

希望这对您有所帮助!

关于c++ - 为什么通过公开继承另一个类来构建一个类是一种糟糕的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23036530/

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