トップページ > プログラム > 2014年04月04日 > ziFJe0J7

書き込み順位&時間帯一覧

32 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000010000000000100002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
929
C++相談室 part111

書き込みレス一覧

C++相談室 part111
939 :デフォルトの名無しさん[sage]:2014/04/04(金) 08:29:34.22 ID:ziFJe0J7
皆さんレスありがとうございます

>>938
BにtemplateつけたくなったらIAにもつけなくてはならなくなった、みたいな感じで

template<typename Data>
class A : public IA<Data>{
vector<B<Data> > member;

template<typename Data>
class B{
Data data;
public:
B(IA<Data> *owner)
void xxx()
{
m_owner->func(&data);
}

template<typename Data>
class IA{
virtual void func(Data *){}
};

みたいになるのかな

>>935
えーと、となると
インターフェースにメンバ関数テンプレートを持たせるのはアリか?
という質問になりますね
C++相談室 part111
948 :929[sage]:2014/04/04(金) 19:17:02.12 ID:ziFJe0J7
今帰宅しました
皆さんレスありがとうございます

>>942
相互参照NGの理由はジョン・ラコスの「大規模C++ソフトウェアデザイン」で書かれています
確か
・コンパイル・リンク時のコストが増大すること
・お互いに単独で使用できないので単体試験ができない
等が理由に挙げられていたと思います

>>943
ありがとうございます^^

>>930
概念的に独立したクラスが相互参照しているわけではなく、
Graph,Edge,Vertexみたいな感じの関係のクラスなんです
例えがパッと浮かばなかったので>939ではレス返せませんでした、すみません


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。