Petit probleme objet : need help !
Voici comment est structuré mon petit projet :

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
24
25
26
27
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 ?