1/par défaut les fonctions ne sont pas virtuelles, il faut le mot clé virtual pour qu'elle le soit.
2/Hormis pour le constructeur et le destructeur, il n'y pas d'appel des méthodes parents lorsqu'on appelle la méthode d'un objet même si celle-ci est virtuelle.
3/S'il y a conflit entre deux méthodes parents, une erreur est générée. Le conflit peut être levé en explicitant quelle méthode prendre.
4/Si une classe dérivée redéfinit une méthode non virtuelle, celle-ci 'masque' la méthode parent.
5/Seuls les références et les pointeurs peuvent avoir des types dynamiques et des types statiques différents. Une méthode virtuelle utilise le type dynamique pour l'appel, une méthode non virtuelle, le type statique.
Partager