Bonjour,
Pourriez-vous m’expliquer pourquoi j'ai accès à la fonction fct() depuis pd ?
J'ai pensé avoir une erreur à la compilation mais ce n'est pas le cas
Voici mon code :
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
 
class Base {};
class Derived: public Base 
{ 
    int a; 
    public :
    void fct() { cout << "Fct Derived" << endl; }
};
 
int main () 
{
        Base * pb = new Base;
        Derived * pd;
 
        pd = static_cast<Derived*>(pb);  //pd cast Base en Derived 
        pd->fct();
 
    return 0;
 
}
Réponse :
Fct Derived