Bonjour pour la 4 eme fois de la journee...

J ai une ptite question , tt d abord voici le code :

liste.h
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
23
24
25
26
27
28
29
30
31
32
33
34
 
// Classe maillon
template <class T> class maillon {
 
 
      // Champs prives
      private:
        T data ;
        maillon<T> *suivant ;
 
      // Forme canonique de Coplien
      public:
        maillon();
        maillon(const maillon<T>&) ;
        maillon(const T);
	~maillon() ;
 
      // Autres methodes et operateurs
      	maillon<T>* gonext();
};
 
// Classe liste
template <class T> class liste {
      // Champs prives
      private:
        maillon<T>* tete;
	maillon<T>* fin ;
 
      // Forme canonique de Coplien
      public:
        liste() ;
        liste(const liste<T>&) ;
	~liste() ;
};
mes destructeurs:
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
23
24
25
26
27
28
29
30
31
 
template <class T>
liste<T> :: ~liste()
{
  if ((tete != NULL) && ((*tete).gonext() != NULL))
    {	   
           maillon<T>* parcours;
           maillon<T>* apresparcours;
           apresparcours = (*tete).gonext();
           parcours = tete;
 
           do 
	   {
	     delete parcours;
	     parcours = apresparcours;
	     apresparcours = (*apresparcours).gonext();
	   } while ((*apresparcours).gonext() != NULL );
 
      delete parcours;
      if (apresparcours != NULL)
      delete apresparcours;
    }
// delete tete;
//  delete fin;
}
 
template <class T>
maillon<T> :: ~maillon ()
{
 delete this;
}
J aimerai savoir si mes pointeurs tete et fin d une liste sont supprimes , je sais que je supprime les objets POINTÉS mais est ce que je supprime les pointeurs eux memes ?

merci