我无法弄清楚这个问题,我需要一个抽象的模板基类,如下所示:
template <class T> class Dendrite
{
public:
Dendrite()
{
}
virtual ~Dendrite()
{
}
virtual void Get(std::vector<T> &o) = 0;
protected:
std::vector<T> _data;
};
现在,我从这个中得到了确切使用树突的信息。
现在遇到了问题。
如何创建一个指向基类的指针向量,没有具体类型,并且我希望稍后通过将元素推入其中来指定类型?像这样:
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>()).
};
这个有可能实现,或者是我漏掉了一些很基础的东西吗?