Bonjour. Je suis tomb� sur un truc louche et j'aimerais votre avis dessus.

Dans un code que j'observe, j'ai une classe qui a (entre autres) une variable d'instance qui est un void*
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
 
classe MaClasse
{
  /*...*/
  void* maVariable;
  /*...*/
}
Dans le constructeur de MaClasse, maVariable est initialis�e en construisant une instance d'une autre classe bien determin�e:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
 
MaClasse::MaClasse()
{
  /*...*/
  maVariable = new UneClasseBienDeterminee();
  /*...*/
}
Dans chacune des fonctions ou maVariable est utilisee, elle est cast�e:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
 
MaClasse::uneFonctionQuelconque
{
  /*...*/
  ((UneClasseBienDeterminee*)maVariable)->uneFonctionDeLaClasseBienDeterminee();
  /*...*/
}
SAUF lors de la destruction (ce qui m'inquiete)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
 
MaClasse::~MaClasse()
{
  /*...*/
  delete maVariable; maVariable=NULL;
  /*...*/
}
Ma question est: tout ceci est-il bien normal? La "ClasseBienDeterminee" est dans une librarie dont je ne poss�de pas de version compil�e et mode debug. Je ne peux donc pas "stepper" dedans, et je n'ai pas vraiment moyen de savoir si son destructeur est bien appell� ou non.
Il ne semble pas y avoir d'erreur au run-time, mais comme la destruction se fait au moment de quitter le programme, je pense que m�me si le destructeur n'est pas appell� je ne m'en apercevrait pas.
Merci de vos avis