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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
ostream& operator<<( A& x ) 
{
        ostream& out;
	out << x.y << endl;
	return out;
}
Merci de votre aide!!!