[POO] Opérateurs & Héritage
Bonjour,
je m'amuse comme un petit fou en découvrant l'héritage. Rien à redire c'est génial, vive le cpp.
Mais avant de coder avec mes pieds, je viens demander des conseils.
Quand une classe B hérite de A. On peut dire que B est un A avec généralement des variables membres supplémentaires.
Comment gerer tout ceci dans le cadre des opérateurs. J'aimerais que par exemple dans mes opérateurs amis istream & ostream réutiliser ceux de la classe mère. J'ai essayé en utilisant une méthode propre à chaque classe qui est virtuelle. Dans le cas de B je force l'appel à A avant de continuer ce qui est seulement necessaire à B.
Dans A:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| virtual void affiche(ostream &s=cout);
friend ostream& operator<<(ostream &s, A &a);
void A::affiche(ostream &s)
{
s<<nom<<blabla<<blublu;
}
ostream& operator<<(ostream &s, A &a)
{
a.affiche(s);
return s;
} |
Dans B:
Code:
1 2 3 4 5 6
| void affiche(ostream &s=cout);
void B::affiche(ostream &s=cout)
{
A::affiche(s);
s<<endl<<MembreDeBSeulement;
} |
Est-ce une bonne manière de faire ? Puis-je faire pareil pour l'opérateur = et le constructeur de recopie ?