Salut à tous!
Une petite question simple:
Soit une classe A définissant "une interface":
Soit B une classe fille de A, avec en plus une méthode spécialisée, n'exstant pas dans A:
main.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class A { foo(); }; class B : public A { foo2(); };
Le downcasting n'est pas implicite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int main() { A * a; a->foo2(); // Impossible ? }
Sachant qu'on est sur d'avoir affaire à un objet B? J'ai essayé avec un dynamic_cast, mais le compilo veut rien savoir !
EDIT : Résolu avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int main() { A * a; dynamic_cast<B>(a)->foo2(); }
Partager