Salut,

j'implemente une class template avec 1 methode public, par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T>
class MaClasse
{
...
public:
  void methode1(void);
...
}
 
template <class T>
void MaClasse<T>::methode1()
{
...
}

que je j'utilise sur 2 types:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
MaClasse<type1> _objet_type1;
MaClasse<type2> _objet_type2;
Supposons maintenant que _objet_type2 ait aussi besoin d'une seconde methode (par exemple: void methode2(void)) non implementable pour _objet_type1. Elle ne peut donc pas figurer dans le corps de la template...

(Note: les structures de _objet_type1 et _objet_type2 sont telles que les 2 classes pourraient tres bien deriver d'une meme classe commune.)

Peut-on combiner heritage et template? Ou bien existe-t-il une solution plus simple ne faisant pas appel a l'heritage?

Merci