線形リストを階層状に構成するプログラムを書いていますがcUnitList+---cUnit+---cUnit....+---cUnitcULList+---cUnitList+---cUnitList....+---cUnitListこれを実現するために、現在それぞれにクラスを書いて実現しています。それぞれのメンバ関数の多くは中身がほとんど同じなので一つの線形リスト基底クラスを作り、それをそれぞれが継承して実現したいのですが。継承の知識が不十分なためか、良い方法が分かりません。下位用のRoot/End、あるいは上位用のPrev/Nextがある時はcUnit,ある時はcUnitListになり基底クラスを書く場合、これを表現する方法が分かりませんどう書いたら良いのでしょうか?よろしくお願いします。何をやりたいのかよくわかりませんが、Compositeパターンが使えませんか?以下にC++の実装例があるので、検討してみてください。/index.htm全然違う場合、もう少しやりたいことの説明が必要かと。不完全でもよいので、ソースコードとか。お返事ありがとうございます。パラメータを複数持つノードのリストがあり、そのリスト自体も複数存在しているため複数階の階層構造になってしまいました。cUnitの中にもパラーメータがたくさんぶら下がっています。似た線形リストがソース上にたくさん散らばっていて、現在全部をベタ書きしてるのですがちょっとみっともないかなと思い。基底クラスでAdd/AddRange/RemoveEnd/Clear/Root/End/Next/Prevなどの関数を一回書いて、あとは流用なんて出来たら便利だなと思って相談しました。長くなってしまうので端折った定義部分だけですがソースを添付します。関数を一回書いて、あとは流用なんて出来たら便利だなと思って相談しました。その後、進展はありますか?Compositeパターンが使えると思うのですが、使えない理由があるのでしょうか。3年前お返事ありがとうございます。Compositeパターン調べてみます。3年前GoFはまだあまり分かってないのが多いので、この件一旦解決として、分からなかったらまた別途お願いします。ミクプラは自由にリンクできます。