Héritage des attribus en C++
guadoc
Messages postés
89
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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;
}