Listing 5 (rational.cpp)

#include "rational.h"

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

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

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

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

void rational::put(FILE *f)
       {
       fprintf(f, "(%1d/%1d)", num, denom);
       }

// End of File