Bonjour,
voici le code qui me pose problème :
Le message d'erreur que j'ai à la compilation est
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 #include <iostream> class A { protected: void f() { std::cout << "pourtant" << std::endl; } }; // class A class B : public A { public: void g( A& a ) const { a.f(); } }; // class B int main() { B b; b.g(); return 0; } // main()
Je ne comprend pas pourquoi B ne peux appeler une méthode protégée de A alors que B hérite de A. Je croyais que "protected" servait justement à ce que les classes filles puissent avoir accès à ces membres. Quelqu'un pourrait-il m'expliquer ?test.cpp: In member function `void B::g(A&) const':
test.cpp:6: erreur: « void A::f() » est protégé
test.cpp:13: erreur: à l'intérieur du contexte
Merci
Partager