Héritage des attribus en C++
guadoc
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je programme en C++.
Je crée une classe A.
Puis une classe B qui hérite de A.
Puis une classe C qui hérite de B.
Mon problème est que dans la classe C je n'arrive pas à accéder aux attributs déclarés dans la classe A (ceux-ci sont bien déclarés comme protected dans A). Or il me faut accéder à ces attributs et je n'ai pas envi d'utiliser des accesseurs.
Quelqu'un a t-il une solution pour me débloquer?
Merci d'avance pour vos contributions.
Je programme en C++.
Je crée une classe A.
Puis une classe B qui hérite de A.
Puis une classe C qui hérite de B.
Mon problème est que dans la classe C je n'arrive pas à accéder aux attributs déclarés dans la classe A (ceux-ci sont bien déclarés comme protected dans A). Or il me faut accéder à ces attributs et je n'ai pas envi d'utiliser des accesseurs.
Quelqu'un a t-il une solution pour me débloquer?
Merci d'avance pour vos contributions.
1 réponse
Tu as du mal t'y prendre, il faudrait voir ton code pour t'aider.
Voici un exemple, n est protected dans A, et je m'en sers sans problème dans C.
Voici un exemple, n est protected dans A, et je m'en sers sans problème dans C.
class A { protected: int n; public: A(int m) { n=m; } int f() { return n; } }; class B : public A { public: B(int m):A(m){} int f() { return 2*n; } }; class C : public B { public: C(int m):B(m){} int f() { return -n; } }; int main() { A a(3); B b(3); C c(3); int na=a.f(); // 3 int nb=b.f(); // 6 int nc=c.f(); // -3 return 0; }