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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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/
Dans news:bf680b$8d5$1@news5.isdnet.net, 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 mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
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/