【初心者歓迎】C/C++室 Ver.24【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0170デフォルトの名無しさん
2006/01/06(金) 14:18:23派生クラスのインスタンスを被演算数とするオペレータを
定義することを義務付けるような基底クラスというのは
どのように書けばいいのでしょうか…。
template <class T>
class hoge{
public:
virtual T& operator+=(T&) = 0;
};
こんな感じに書くしかないのでしょうか。
また、この基底クラスの仮想オペレータを呼び出すことで、
継承クラス先のオペレータの処理を抽象化しながら、
何らかの処理をするクラスを作りたいのですが、
template <class T>
class piyo{
public:
void excute(hoge<T>* phoge){}
};
のように書いても、リンク時に外部シンボルが参照できないという
エラーが出てしまいます。
どう書けば、基底クラスのインターフェイスだけで、
派生クラスごとのオペレータを呼び出せるのでしょうか…。
■ このスレッドは過去ログ倉庫に格納されています