Bonjour!
N'étant pas très expérimenté en ce qui concerne les surcharges d'opérateurs, j'aimerais savoir pourquoi ma surchage de l'opérateur >> n'est pas accepté par le compilateur.

Voici comment je l'ai déclaré dans l'en-tête de ma classe Segment :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
friend ostream& operator <<(ostream& os, const Segment& seg);
Puis l'implémentation dans le segment.cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
ostream& Segment::operator <<(ostream& os, const Segment& seg)
{     
    return os << "\n\t   (" << numero << ") SEGMENT L = " << longueur << "m" << " A = " << angle << "rad" << " V = " << vitesse << "km/h" << endl;       
}
le compilateur me génère deux erreurs. Il m'indique tout d'abord que l'opérateur << ne doit prendre qu'un seul paramètre, puis me dit que la surchage n'a pas été déclarée dans la classe Segment...

Je ne comprends pas pourquoi! Si vous pouviez m'éclairer un peu j'en serai très reconnaissant!

Merci d'avance.