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]