Listing 9 (operator-)

rational rational::operator-(rational r)
       {
       return rational(num * r.denom - r.num * denom,
              denom * r.denom);
       }

//
// operator-= written in terms of operator-
//
rational &rational::operator-=(rational r)
       {
       return *this = *this - r;
       }
// End of File