Listing 4 (rational.cpp)

#include "rational.h"

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

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

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

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

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

// End of File