surcharge des operateurs de flux
J'essaye de surcharger les operateurs de flux << et >> pour ma classe personne.
Le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <stdio.h>
#include <iostream>
class personne
{
public:
char nom[30];
friend ostream& operator<<(ostream& os, const Personne& p);
}
ostream& operator<<(ostream& os, const personne& p)
{
os << p.nom;
return os;
}
personne p;
strcopy(p.nom, "test");
cout << p; |
Mais lors de la compilation j'ai le message suivant:
Code:
ISO C++ forbids declaration of `ostream' with no type
pour la ligne:
Code:
friend ostream& operator<<(ostream& os, const Personne& p);
Comment faire pour surcharger correctement ces opérateurs?