Bonjour à tous, j'ai un problème concernant le polymorphisme. Je vais essayé de simplifié le prob en vous donnant un simili code, qui est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 class A { virtual A:: methodeVirt(){ ... } A::methodeA(){ A monobjetA; ... monobjetA.methodeVirt(); ... } } class B : public A { B:: methodeVirt(){ ... } }
Mon problème est que lors de l'appel de la méthode A::methodeA(), l'objet "monobjetA" peut en fait être un objet de classe B (c'est possible grâce au code en "..."), et de ce fait, j'aimerais que ce soit la methodeVirt() de la classe B qui soit appelee dans ce cas. Or actuellement, systématiquement c'est la methodeVirt() de la classe A qui est appelée.
Comment résoudre un tel problème?: ... Merci d'avance...
[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]
Partager