qqun peut-il m'expliqué a quoi sert une fonction virtuelle? - C++ - Programmation
Marsh Posté le 08-04-2004 à 00:25:42
ben quand tu fais de l'héritage, ta super-classe et ta sous-classe partage une même interface, c'est à dire une fonction membre mais avec différentes implémentations.
Si tu manipules une instance d'une de ses classes et que tu appelles cette fonction membre, tout va bien, tu as bien ce que tu veux faire. Maintenant, si tu veux faire du polymorphisme, c'est à dire manipuler des objets de types différents mais partageant tous la même super classe, ça se corse. tu dois les manipuler via des pointeurs/référence sur super-classe. et là, si tu appelles la fonction membre, et bien c'est la définition de la fonction-membre de la super classe qui va être invoquée : virtual est mécanisme qui appelle la fonction membre du type réel de l'objet.
virtual =0 permet de déclarer une fonction virutelle dans une super-classe mais dont la définition est remise à toute sous-classe. ça permet de définir une interface pure, c'est à dire que les sous-classes __doivent__ fournir ce service
Marsh Posté le 08-04-2004 à 00:18:13
Bonjour a tous!
Je voudrais savoir a quoi sert une fonction et virtuelle et une fonction pure virtuelle, parceque la je suis perdu...
Si qqun a une explication simple je lui en serais tres reconnaissant.
merci d'avance