Bonjour,
y a-t-il un moyen de définir des méthodes spécifiques à un type et une méthode par défaut dans une classe template ?
Bonjour,
y a-t-il un moyen de définir des méthodes spécifiques à un type et une méthode par défaut dans une classe template ?
je ne suis pas sûr de ce que tu veux faire, mais je crois que la faq peut te donner des éléments de réponse
Si je comprends bien ta question,
çà?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 template <typename T> class Test ... { // définition générale virtual T maMethode() const = 0; }; class Concrete : public Test<string> { string maMethode() const { // partie spécifique } };
Il s'agissait de la spécialisation de la classe comme proposé par GeantVert13. Ça n'a pas l'air bien gérer par le C++, je vais voir si je trouve une autre solution.
Qu'est ce qui n'est pas bien géré ? La spécialisation template ?
Tu veux créer une classe template avec divers fonctions selon les paramètres templates mais dont les instances (classes) auront quand même toutes certaines fonctions en commun ?
Si c'est ça il faudrait une information supplémentaire, les données membres dépendent-elles des paramètres templates ou non ?
Les solutions à ce genre de problème sont les templates couplé à l'héritage, comme te le propose rmaker, la facon exact de faire l'héritage dépendra des besoins exacts (entre autre l'information supplémentaire qu'il manque).
Partager