Voilà j'ai une classe Emprunteur et une class Collection Emprunteur.
Dans ma classe Emprunteur j'ai déclaré un stream :
Code :
- ostream & operator << ( ostream& O, Emprunteur &emprunteur ) ;
- ostream& Emprunteur :: operator << ( ostream& O, Emprunteur &emprunteur )
- {
- O << emprunteur.getNom() << " " << emprunteur.Prenom() << " " << emprunteur.getAdresse << " " << emprunteur.getVille << " " << emprunteur.getCodePostal << " " << emprunteur.getPays << endl ;
- return O ;
- }
|
Et dans ma collection :
ostream & operator << ( ostream& O ) ;
Code :
- ostream & ListEmprunteurs :: operator << ( ostream& O )
- {
- int i;
- for( i=0; i < laListEmprunteurs.getNbElements(); i++ )
- {
- cout << ( (Emprunteur)( *laListEmprunteurs[ i ] ) ) ;
- }
- //Avec laListEmprunteurs attribut de la classe ListEmprunteurs
- return O;
- }
|
Ca ne fonctionne pas. Faut il obligatoirement passer un objet du type en ref?
comme ceci :
ostream& Emprunteur :: operator << ( ostream& O, Emprunteur &emprunteur );
ostream & operator << ( ostream& O, ListEmprunteurs &uneListEmprunteurs ) ;
Je précise que j'ai fait un import :
#include <iostream.h>
Message édité par Spir le 18-06-2005 à 22:58:28