
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, "(%ld/%ld)", num, denom);
	}
