const Rational operator +(const Rational& fraction1 , const Rational& fraction2)//addition { BigInt temp1_num,temp2_num,temp_den; if(fraction1.getdenominator() != fraction2.getdenominator()) { temp1_num=fraction1.getnumerator()*fraction2.getdenominator(); temp2_num=fraction2.getnumerator()*fraction1.getdenominator(); temp_den=fraction1.getdenominator()*fraction2.getdenominator(); } else { temp1_num=fraction1.getnumerator(); temp2_num=fraction2.getnumerator(); temp_den=fraction1.getdenominator(); } BigInt tempnum(temp1_num+temp2_num); return Rational(tempnum,temp_den); }
const Rational operator -(const Rational& fraction)//negation { BigInt temp_num(fraction.getnumerator()*-1); BigInt temp_den(fraction.getdenominator()); return Rational(temp_num,temp_den); }