/* Derived class 'Rational' */ #include #include "Rational.h" using std::cout; using std::cin; Rational::Rational( int numeratorInit, int denominatorInit ) { numerator = numeratorInit; denominator = denominatorInit; } void Rational::read() { cin >> numerator >> denominator; } void Rational::write() const { cout << numerator << " " << denominator; } bool Rational::isPositive() const { if ( ( numerator >= 0 && denominator >= 0 ) || ( numerator <= 0 && denominator < 0 ) ) return true; else return false; } bool Rational::operator==( Rational other ) const { if ( numerator * other.denominator == other.numerator * denominator ) return true; else return false; } Rational Rational::operator+( Rational other ) const { return Rational( numerator * other.denominator + other.numerator * denominator, denominator * other.denominator ); } Rational Rational::operator-( Rational other ) const { return Rational( numerator * other.denominator - other.numerator * denominator, denominator * other.denominator ); } Rational Rational::operator*( Rational other ) const { return Rational( numerator * other.numerator, denominator * other.denominator ); } Rational Rational::operator/( Rational other ) const { return Rational( numerator * other.denominator, denominator * other.numerator ); }