OVH Cloud OVH Cloud

fonction virtuelle

1 réponse
Avatar
Guillaume Gourdin
si une méthode d'une classe fille est définie virtuelle, mais pas la méthode
de la classe mére, est-ce que le virtual sera bien pris en compte ou pas ?
Ou bien faut-il impérativment déclarer la méthode mére virtuelle ?

1 réponse

Avatar
Michel Michaud
Dans news:bf680b$8d5$, Guillaume
si une méthode d'une classe fille est définie virtuelle, mais pas
la méthode de la classe mére, est-ce que le virtual sera bien pris
en compte ou pas ? Ou bien faut-il impérativment déclarer la
méthode mére virtuelle ?


Seulement si tu l'appelles à partir d'un pointeur sur la classe
où la fonction est virtuelle, ou une de ses dérivées.

Il faut donc la déclarer virtuelle dans la classe de base. Je ne
crois pas qu'il y ait de cas réellement intéressants où on peut
ajouter la virtualité à bon escient à une fonction non virtuelle
dans la classe de base. Prove me wrong :-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/