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)

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;
}
Une idée ?
Dans l'attente de vos réponses ...