私はこれを理解することはできません。次の抽象テンプレート基本クラスが必要です。
template <class T> class Dendrite
{
public:
Dendrite()
{
}
virtual ~Dendrite()
{
}
virtual void Get(std::vector<T> &o) = 0;
protected:
std::vector<T> _data;
};
ここで、Dendriteの正確な使用法を指定するこれから派生します。
今問題。
後で要素をプッシュして指定したい、特定のタイプのない基本クラスへのポインターのベクトルを作成するにはどうすればよいですか?何かのようなもの:
class Foo
{
public:
...
private:
std::vector<Dendrite *> _inputs; //!< Unfortunately, this doesn't work...
//! Now I could later on push elements to this vector like
//!
//! _inputs.push_back(new DeriveFromDendrite<double>()) and
//! _inputs.push_back(new DeriveFromDendrite<int>()).
};
これは可能ですか、それともここで非常に基本的なものが欠けていますか?