Bonjour,
J'ai un problème concernant les templates. Je voudrais pouvoir stocker des pointeurs vers des objets templates hétérogènes dans un vector de la stl, mais je n'ai pas l'impression que cela soit possible...
Pour être un peu plus compréhensible, j'ai une classe template MaClasse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 template <typename T> class MaClasse : public Base { protected: T & value_; public: MaClasse(const T & inValue) : value_(inValue) {} ... }
et j'aimerais pouvoir créer un vector de pointeurs de MaClasse, autrement dit avoir quelque chose comme
La seule solution que j'ai trouvé, c'est d'utiliser un vector de Base *, mais ca ne m'arrange pas trop puisque d'autres classes dérivent de Base, et je ne veux pas d'elles dans mon vector.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 std::vector<MaClasse*> vec; int i = 10; string s = "toto"; vec.push_back(new MaClasse<int>(i)); vec.push_back(new MaClasse<string>(s));
Merci d'avance pour vos idées !
Partager