可能重复:
我什么时候应该使用C++私有继承?
我想制作这个社区维基但没有看到按钮......有人可以添加它吗?
我无法想到我是以非公开的方式从一个类派生出来的,而且我无法回想起看到这样做的代码.
我想听一下它有用的真实世界的例子和模式.
你的旅费可能会改变...
核心答案是非公有继承是无用的.
就个人而言,我在两种情况中都使用它:
virtual类中的一个函数在任何一种情况下,我都使用private继承,因为继承本身就是一个实现细节.
我已经看到人们private在编写包装或扩展行为时更自由地使用继承,并且系统地使用继承而不是组合.C++不提供"简单"的委托语法,因此这样做可以让您编写using Base::method;以立即提供方法,而不是编写正确的转发调用(及其所有重载).我认为这是不好的形式,虽然它确实节省了时间.