在 C++ 中,我想不出我想从基类继承私有/受保护的情况:
class Base;
class Derived1 : private Base;
class Derived2 : protected Base;
真的有用吗?
原文由 Gal Goldman 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 C++ 中,我想不出我想从基类继承私有/受保护的情况:
class Base;
class Derived1 : private Base;
class Derived2 : protected Base;
真的有用吗?
原文由 Gal Goldman 发布,翻译遵循 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 阅读✓ 已解决
当您想要访问基类的某些成员但又不想在类接口中公开它们时,它很有用。私有继承也可以看作是某种组合: C++ faq-lite 给出了下面的例子来说明这个语句
为了获得相同的语义,您还可以编写 car 类,如下所示:
但是,这种做法有几个缺点: