/* * programme: rat.cc * auteur: felipe * objet: * - montrer le decoupage declaration/definition (h/cc) en C++ (voir Rational.h et Rational.cc) * - montrer la surdefinition des operateurs (et ses inconvenients) * - montrer les parametres par defaut (ici applique au constructeur) * * compilation: g++ -o rat Rational.cc rat.cc * execution: rat */ #include #include "Rational.h" int main() { Rational a(2,-4),b(-3,-4); int i = 10; cout << "i=" << i << " a=" << a << " b=" << b << endl; cout << a << " - " << b << " = " << (a-b) << endl; cout << a << " + " << b << " = " << (a+b) << endl; cout << a << " - 1 = " << (a-1) << endl; cout << "a += b -> " << (a+=b) << endl; cout << "a= " << a << endl; cout << "++a -> " << (++a) << endl; cout << "a= " << a << endl; cout << "a++ --> " << (a++) << endl; cout << "a= " << a << endl; cout << a << " / " << b << " = " << (a/b) << endl; cout << a << " * " << b << " = " << (a*b) << endl; cout << a << " == " << b << " ? " << (a==b) << endl; cout << a << " != " << b << " ? " << (a!=b) << endl; cout << "egalite1 " << (Rational(2,-4) == Rational(-3,6)) << endl; cout << "egalite2 " << (-Rational(2,4) == Rational(-3,6)) << endl; cout << "egalite3 " << (-Rational(1,1) == -(-Rational(-3,3))) << endl; // woh ! return 0; }