Overloading the Output Operator
“Problematic” prototype. Example:
ostream& operator<<(ostream& outs, const Point& source);
// Postcondition: the x and y coordinates of source have been written to outs
outs is a reference parameter, meaning that the function can change the output stream.