Rational Rational::operator*(const Rational &rat) const { Rational tempRat; tempRat.numerator = numerator * rat.numerator; tempRat.denominator = denominator * rat.denominator; tempRat.Reduce(); return tempRat; }
Rational operator-(const Rational &a, const Rational &b) { if (a.denom == 0 || b.denom == 0) return Rational::Zero; Rational rtn; if (a.denom == b.denom) { rtn.numer = a.numer - b.numer; rtn.denom = a.denom; } else { rtn.numer = a.numer * b.denom - b.numer * a.denom; rtn.denom = a.denom * b.denom; } return rtn.Reduce(); }