【发布时间】:2010-12-02 14:58:43
【问题描述】:
我想不通。我需要一个抽象模板基类,它 如下:
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>()).
};
这是可能的还是我在这里遗漏了一些非常基本的东西?
【问题讨论】:
标签: c++ inheritance templates polymorphism abstract