Surcharge d'opérateur << pour un ostream
Bonjour à tous,
Je débute en C++ et j'ai une question concernant la surcharge d'opérateurs de flux. Je comprends ce que font les lignes suivantes mais j'ai deux questions:
Code:
1 2 3 4 5
| ostream& operator<<(ostream& out, A& x )
{
out << x.y << endl;
return out;
} |
la première: Pourquoi renvoit-on une référence sur un object ostream?
la deuxième: Pourquoi met-on un object ostream "out" en argument pour le modifier et le renvoyer? pour moi mettre un paramètre en argument ça sert d'input. Pourquoi on écrit tout simplement pas:
Code:
1 2 3 4 5 6
| ostream& operator<<( A& x )
{
ostream& out;
out << x.y << endl;
return out;
} |
Merci de votre aide!!!