Bonjour
J'aurais une question concernant le polymorphisme et l'appel d'une fonction.
Considérons une classe Shape et une sous-classe Circle et les deux fonctions surchargées suivantes :
Je voudrais savoir, en appelant la fonction ci-dessus avec comme argument un pointeur vers un objet dont le type à l'exécution est Circle, laquelle des deux versions de la fonction sera apellée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void fonction(Shape* shape); void fonction(Circle* circle);
Par exemple l'appel suivant :
En effet les deux versions pourraient etre apellées puisque qu'un objet de type Circle est aussi du type Shape.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Circle* circle = new Circle(); fonction(circle);
Merci d'avance de votre réponse.
Partager