C++相談室 part98
■ このスレッドは過去ログ倉庫に格納されています
0794デフォルトの名無しさん
2012/10/05(金) 00:21:26.06virtual void Method() const = 0; };
template <class X> struct Sub : IBase {
X const & x;
Sub(X const & x) : x(x) {}
void Method() const { x.Method(); } };
void Func(IBase const & x) { x.Method(); }
template <class X> void Func(X const & x) { Func(Sub<X>(x)); }
このようにXが直接interfaceを継承する必要はない
XをFunc以外で利用する際にオーバーヘッドとならないようにXが直接interfaceを継承することは避けるべきである
■ このスレッドは過去ログ倉庫に格納されています