#include "A.h" //-- A::A(int i) : _i(i) { } //-- A::A(const A& anA) { _copy(anA); } //-- A& A::operator=(const A& anA) { if (this != &anA) { _destroy(); _copy(anA); } return *this; } //-- A::~A(void) { _destroy(); } //-- bool operator==(const A& anA1, const A& anA2) { if (anA1._i != anA2._i) return false; return true; } //-- bool operator!=(const A& anA1, const A& anA2) { return !(anA1==anA2); } //-- A& A::operator+=(const A& anA) { _i += anA._i; return *this; } A operator+(const A& anA1, const A& anA2) // + : non membre { A a(anA1); a += anA2; return a; } A& A::operator*=(const A& anA) { _i *= anA._i; return *this; } A A::operator*(const A& anA) // * : membre { A a(*this); a *= anA; return a; } //-- ostream& operator<<(ostream& os, const A& anA) { os << "I'am displaying an A : " << anA._i; return os; } //-- void A::_copy(const A& anA) { _i = anA._i; } //-- void A::_destroy(void) { }