【发布时间】:2021-11-15 12:33:12
【问题描述】:
问题是我需要将基类的私有成员转换为派生类公共成员,但我只能找到两种主要类型的关键字来继承 private 这是默认类型和 public 继承所有东西一样因为它们在基类中。但是我只需要将基类的私有成员继承到派生类的公共成员中。
有人可以帮我解决这个问题吗!
【问题讨论】:
-
我建议提供一个真实的用例,为什么你只需要继承 private members 。在这种情况下,大多数时候复合或聚合模式比继承更好。 minimal reproducible example 更好。
-
简短的回答是:不,你不能做你所描述的。更长的答案是:无论您的实际情况如何,都可能有一种解决方法的好方法,但这不是通过继承将私有成员公开。
-
派生类不能使用基类的私有成员,更不能让其他人使用它们。
-
如果你需要这样做,那是设计有缺陷。
-
这是XY problem。你为什么觉得有这种需要?
标签: c++ oop inheritance public private-members