は、私は、オブジェクトのグループを持つことができますので、Compositeパターンを追加するために探しています。Compositeパターンの再利用
class Sim_object {
};
class Ship : public Sim_object {
};
class Island : public Sim_object {
};
そして、これまでのところ、私が作ってみた:
class Sim_object {
// holds general sim functions
get_name()
};
// COMPONENT
class Ship_object : public Sim_object {
// holds ship functions
add()
remove()
attack()
move()
};
// COMPOSITE
class Group : public Ship_object {
// holds list of group ship functions
add()
remove()
attack()
move()
};
// LEAF
class Ship : public Ship_object {
// holds ship functions
attack()
move()
};
class Island : public Sim_object {
// holds island functions
};
私はそれが働いていますが、それが唯一の船の船やグループのために働くこれは、現在の階層は次のようになります。グループコード(追加、削除、表示など)を再利用したいので、具体的なGroupクラス(Island_groupのような)がこれを継承して使用することができます。私は、Ship_groupクラスがGroupという共通の基底クラスから継承するデザインを変更しようとしましたが、私はダイヤモンドプログラムに直面しました。
私はタイプに基づいて、私のグループの制御コードを再利用については行くことができる方法はありますか?
これは私には、複合のように見えない...そこにダイヤモンドの問題について
心配はありませんオブジェクトの –