私はクラスをプライベート継承を通して拡張したいと思っています。C++プロジェクト設計 - プライベート継承と "a"関係
基底クラスは次のとおりです。Graph<T>
導出は次のとおりです。Tree<T>
私たちは、木が特定のグラフであることを知っているので、私は、ユーザーがグラフのPUBLICメソッドを使用せずに、私のグラフのクラスを拡張したいですクラス。
メイキング:
template <typename T> class Tree : public Graph<T>{
.
.
.
}
作品が、私はグラフのクラスのメソッドと私の木の状態を変更する必要はありません。ユーザーはTreeクラス固有のメソッドを使用する必要があります。 私は自分が望むものを得るために私的な継承を使うべきだと思います。
問題は、実際にはツリーがグラフなので、私は "is a"の関係を失うことができないということです。
良いものを意味的に注文するには、良いデザインは何ですか?
ありがとうございました
https://en.wikipedia。org/wiki/Circle-ellipse_problem – nwp