
Listing 6

class rational
    {
public:
    rational() : num(0), denom(1) { }
    ...
    friend ostream &operator<<(ostream &, rational)
private:
    long num, denom;
    void simplify();
    };

...

ostream &operator<<(ostream &os, rational r)
    {
    os  << '(' << r.num << '/' << r.denom << ')';
    }

