/* ATTENTION : cette solution est adaptée à l'énoncé de l'exercice, mais n'est pas complète au point d'en faire une classe réutilisable par quiconque. Il faudrait redéfinir le constructeur de recopie, l'opérateur d'affectation, traiter les exceptions... */ #define NULL 0 class PileNonBornee_int { private: class Chainon { public: int elt; Chainon* suiv; public: Chainon(int e, Chainon* s = NULL) : elt(e), suiv(s) {}; ~Chainon() { if (suiv) delete suiv; }}; private: Chainon* dernier; public: PileNonBornee_int(); ~PileNonBornee_int(); public: PileNonBornee_int& empiler(int); PileNonBornee_int& depiler(); int sommet(); bool est_vide(); };