Bonjour, petit problème, j'ai ça version simplifiée :
En fait je veux appeler des objets spécialisés avec Obj, puis travailler que avec Obj. Mais j'ai cette erreur sur B->m(4) ... Comment résoudre ce problème sans changer le nom de la méthode pour conserver la surcharge ?
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
22
23
24
25
26 class A { bool m(int p); }; class B : public A { bool m(int p); } bool B::m(int p) { A::m(3); return true; } int main(void) { A *Obj; Obj = new B(); B->m(4); // erreur ici, le compilateur ne sait pas quelle méthode m appeler. Je veux appeler la méthode fille delete Obj; return 0; }
Partager