#ifndef _A_H_ #define _A_H_ #include using namespace std; class A { friend ostream& operator<<(ostream& os, const A& anA); public : // Allocateurs/Desallocateurs A(int v=0); A(const A& anA); A& operator=(const A& anA); virtual ~A(void); // Comparaisons friend bool operator==(const A& anA1, const A& anA2); friend bool operator!=(const A& anA1, const A& anA2); // Arithmetique + //friend A operator+(const A& anA1, const A& anA2); friend A operator+(A anA1, A anA2); // Inspecteurs/modificateurs protected : // Methodes a appeler par une classe derivee // display: a appeler dans une classe derivee // display est une virtual void display(ostream& os) const; // methode appelee // dans operator<< // isEqualTo: a appeler dans une classe derivee (dans operator==) virtual bool isEqualTo(const A& anA) const; protected : // ### private : int _v; private : // Methodes privees d'allocation/desallocation void _copy(const A& anA); void _destroy(void); }; #endif // _A_H_