我用它所有的时间。举几个例子:当我想公开一些而不是全部基类的接口时。公共继承将是一个谎言,因为Liskov的可替代性被破坏了,而组合则意味着编写了一堆转发函数。当我想从没有虚拟析构函数的具体类派生时。公共继承将邀请客户端通过指向基础的指针进行删除,从而调用未定义的行为。一个典型的示例是从STL容器私下派生的:class MyVector : private vector<int>{public: // Using declarations expose the few functions my clients need // without a load of forwarding functions. using vector<int>::push_back; // etc... };在实现适配器模式时,从Adapted类私有继承可以节省转发到封闭实例的麻烦。实现私有接口。这通常伴随观察者模式出现。MyClass说,通常我的Observer类会订阅一些Subject。然后,只有MyClass需要执行MyClass-> Observer转换。系统的其余部分不需要了解它,因此指示了私有继承。