Bonjour à tous,
Mon problème en deux mots: J'aimerai pouvoir appeller une méthode d'une classe dérivé depuis un tableau de sa classe de base.
Regardez la fonction main() dans ma source: ici, le compilo (et il a raison) me signale que la classe A n'a pas de méthode du nom de BB() même si (c'est que je suis embêté) il s'agie à la base d'une classe de type B.
Donc: comment éviter de perdre l'accès à la méthode B() de la class BB alors que je la foue dans un vecteur de class A ! (A est la base de B)
Une idée ?
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
27
28
29
30
31
32
33
34
35
36
37
38 using namespace std; class A { public: void AA() { cout<<"Je suis de type A"<<endl; } }; class B: public A { public: void BB() { cout<<"Je suis de type B"<<endl; } }; class C: public A { public: void CC() { cout<<"Je suis de type C"<<endl; } }; int main(int argc, char *argv[]) { vector<A*> Vec; B* CB = new B; Vec.push_back(CB); Vec[0].BB(); system("PAUSE"); return EXIT_SUCCESS; }
Dans l'attente de vos réponses ...
Partager