
Listing 10

//
// rational.h
//
#include <stdio.h>

class rational
	{
public:
	rational() { }
	rational(long n, long d) : num(n), denom(d) { }
	rational operator+(rational r);
	rational operator-(rational r);
	rational operator*(rational r);
	rational operator/(rational r);
	rational &operator+=(rational r);
	rational &operator-=(rational r);
	rational &operator*=(rational r);
	rational &operator/=(rational r);
	void put(FILE *);
private:
	long num, denom;
	void simplify();
	};
