抽象クラスをコーディングしましたA
。
value()
「何でも」を返す仮想関数を作成する可能性はありますか?派生クラスを作成すると、B
ここで関数を実装し、そこvalue()
から何かを返しますか?
これが私の意図の例と説明です:
class A {
public virtual void value() = 0;
};
template < class T >
class B : public A {
private T content;
public T value() { return content; };
};
ご覧のとおり、特にその場合に使用できるユニバーサル コンテナーを作成しようとしています。
std::vector< A > container;
B< int > bint;
B< std::string > bstring;
B< zoo::monkey > bmonkey;
container.push_back( bint);
container.push_back( bstring );
container.push_back( bmonkey );
これに対する解決策はありますか、それとも他のより良い解決策はありますか?
前もって感謝します。