Petit probleme objet : need help !
Voici comment est structué mon petit projet :
class Commun
{
friend ostream operator<<(ostream& o,Commun&);
// 1)
};
class Base : public Commun
{
virtual void plouf()=0; // virtuel pure, donc
Base est virtuelle pure
};
classe Fille : public Base
{
void plouf();
friend ostream operator<<(ostream& o,Fille&);
// 2)
}
A un endroit, j´ai
Base* B = new Fille(....);
et puis un moment, je veux faire :
cout << *B;
forcément, il m´appelle 1) ....
Moi je voudrais qu´il m´appelle 2).
Le soucis, c´est qu´on ne peut pas associer friend et virtual, et que les 200 Filles possibles de base contiennent une surcharge de << en friend.
Comment feriez vous pour que si j´appelle mon cout, j´ai l´appel de la fille ?