Bonjour,
je suis tombé sur un test C++ avec la question suivante :
Qu'affiche le code suivant :
Et la réponse est... ne compile pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class A { public : virtual void f() {printf("A");} }; class B : A { public : void f() {printf("B");} }; A* a = new B(); a->f();
En fait on ne peut pas fairecar B hérite de A en privé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part A* a = new B()
Mais j'aimerais comprendre pourquoi l'héritage privé interdit ceci puisque je pensais tout ce que faisait l'héritage privé, c'était de mettre tous les attributs et méthodes de A en privé dans B ?
Merci de m'éclairer![]()
Partager