virtual ~Destructeur ( )

virtual ~Destructeur ( ) - C++ - Programmation

Marsh Posté le 06-01-2005 à 16:56:37    

Pourquoi un destructeur ne peut ps être apelé par un destructeur d'une classe dérivée sans spécifié le mot clé virtual ?
Pourqoi les compilo ne construise pas directement des destructeur virtuel directement ?!!  :heink:  
 
Si quelqun pouvait me donnait des infos sur comment tout ça est stocké en mémoire je pourrai peut-être mieux comprendre. C'est surtt cela qui m'interesse !
 
Merci  :wahoo:

Reply

Marsh Posté le 06-01-2005 à 16:56:37   

Reply

Marsh Posté le 06-01-2005 à 17:09:29    

bien sur qu'il peut. Mais dans le cadre du polymorphisme, il faut au compilateur des informations supplémentaires. Donc virtual, table virtuelle, etc ...

Reply

Marsh Posté le 06-01-2005 à 17:30:37    

Z3RgSp4wN a écrit :


Pourqoi les compilo ne construise pas directement des destructeur virtuel directement ?!!  :heink:


peut etre pour éviter d'avoir à construire une vtbl, s'il n'y en a pas besoin (pas de fonctions virtuelles dans cette classe).  
Il pourrait rendre directement le destructeur virtuel, si la classe est déjà polymorphe ? bof bof !
En tous cas, certains compilo peuvent emettre des warning, si le destructeur n'est pas virtual et que la classe est polymorphe. Et qu'une autre classe hérite de celle-ci aussi (?)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed