
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;
	}
