- 935 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 22:58:16.91 ID:F+VXkOpH.net]
- インターフェースクラスをテンプレートにするのってアリでしょうか?
そういうのを見たこと無くて違和感があるんですが。 class Aがclass Bを所有してます。 AはBの関数を呼んでますが、Bの方もAの関数を呼ぶ必要があり、 直接相互に呼びあうのは行儀が悪いのでBが呼ぶ部分をインターフェースとして切り出しています。 class A : public IA{ vector<B *> member; class B{ public: B(IA *owner) : m_owner(owner){} void xxx(){ m_owner->func(); } みたいな感じで。実際はもうちょっと複雑なんですが。 で、Bが保持するデータの型をパラメータしたくなったんですが、 そのデータはAにインターフェースを介して渡してもいるという状態です。 あ、ちなみにこのインターフェースはB以外からは呼ばれることはありません。
|

|