Fonction virtuelle

Un article de Wikipédia, l'encyclopédie libre.

En programmation orientée objet, une fonction virtuelle est une fonction définie dans une classe et qui est destinée à être redéfinie dans les classes dérivées.

Une fonction ne possèdant qu'une déclaration, sans code implémenté est dite abstraite ou virtuelle pure. Ex: virtual void dessine() const = 0; // = 0 signifie "virtuelle pure"

Il suffit qu'une classe possède une fonction virtuelle pure pour qu'elle soit dite abstraite.

On ne peut pas instancier une classe abstraite car cela n'aurait aucun sens : ex : on peut instancier un objet "triangle" qui hérite de la classe de base abstraite "forme geométrique" mais on ne peut pas créer un objet "forme geométrique" (voir le concept de polymorphisme).