bonjour
j'ai le code suivant
j'aimerais savoir si je pourrais pas spécialiser le destructeur dans la première classe pour simplifier
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
16
17
18
19
20
21 template <class T> class XX { T ref; public: XX(T ref) : ref(ref){ }; ~XX(){ //delete ref; } }; template <class T> class XX<T*> { T* ref; public: XX(T* ref) : ref(ref){ }; ~XX(){ delete ref; } };
en fait j'ai un classe qui as beaucoup de code et ça m'ennui de la spécialiser en deux classes...
évidement je pourrais faire une classe de base avec un destructeur virtuel et faire la spécialisation au dessus
mais si c'est possible dans la première classe ....
sinon j'avais pensé a faire cela
mais ça passe pas
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
16
17
18
19
20
21
22 template <class T> class YY { T ref; public: YY(T ref) : ref(ref){ }; virtual ~YY(){ //delete ref; } void toto(){}; }; template <class T> class YY<T*> : public YY<T>{ T* ref; public: YY(T* ref) : ref(ref){ }; virtual ~YY(){ delete ref; } };
Partager