Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
const Rational operator -(const Rational& fraction)//negation
{
    BigInt temp_num(fraction.getnumerator()*-1);
    BigInt temp_den(fraction.getdenominator());
    return Rational(temp_num,temp_den);
}