class Point
{
friend ostream& operator << (ostream&, const Point&);
...
};
ostream& operator << (ostream& s, const Point& p)
{
return s << '(' << p.x << ',' << p.y << ')';
}
- Verwendung des ``put-to'' Operators
<<
:
cout << aPoint;
- der linke Operand (der Empfänger) ist vom Typ
ostream
, nicht Point
- da der Empfänger nicht vom Typ
Point
ist, kann keine
Elementfunktion der Klasse Point
verwendet werden.
- würde eine Elementfunktion verwendet werden, müßte die Klasse
ostream
verändert werden!!
- die Argumente und der Rückgabewert der Operatorfunktion werden
aus Effizienzgründen mit ``call by reference'' übergeben.