【发布时间】:2017-01-30 15:52:33
【问题描述】:
我想通过私有继承来扩展一个类。
基类是:Graph<T>
派生为:Tree<T>
我们知道一棵树是一个特定的图,所以我想扩展我的 Graph 类而不让用户使用 Graph 类的 PUBLIC 方法。
制作:
template <typename T> class Tree : public Graph<T>{
.
.
.
}
有效,但我不想用 Graph 类方法改变我的树状态。用户必须使用 Tree 类特定的方法。 我认为我应该使用私有继承来获得我想要的。
问题是我不能失去“是”的关系,因为事实上,树是一个图。
什么是好的设计才能使事物变得良好并在语义上有序?
谢谢
【问题讨论】:
标签: c++ inheritance