Je ne peux pas comprendre cela. Je dois avoir une classe de base de modèle abstrait, qui est la suivante:Un pointeur vers la classe de base du modèle abstrait?
template <class T> class Dendrite
{
public:
Dendrite()
{
}
virtual ~Dendrite()
{
}
virtual void Get(std::vector<T> &o) = 0;
protected:
std::vector<T> _data;
};
Maintenant, je Déduire de ce qui spécifie l'utilisation exacte de Dendrite.
Maintenant le problème.
Comment créer un vecteur de pointeurs vers la classe de base sans type spécifique, que je souhaite spécifier en y poussant des éléments plus tard? Quelque chose comme:
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>()).
};
Est-ce possible ou manque-t-il quelque chose de très basique ici?
Similaire: http://stackoverflow.com/questions/1479498/how-to-subclass-a-templated-base -classe –