/* Fichier Destruct1.cpp Exemple sur destructeur Voir PileCar.cpp pour destructeur "approprie" */ #include #include #include using namespace std; class Carre { private: double cote; public: Carre(double = 5.5); ~Carre() // destructeur { cout << "On appelle le destructeur\n\n"; } friend ostream& operator << (ostream&, const Carre&); }; Carre::Carre(double cote) { this->cote = cote; } ostream& operator << (ostream& sortie, const Carre& autre) { sortie << "Carre de cote " << autre.cote << endl ; return sortie; } void continuer() { cout << endl << endl << "Appuyez sur une lettre suivie de Entree " ; char lettre; cin >> lettre ; cout << endl << endl; } void f(int k) { Carre c(3*k); cout << "On quitte la fonction f " << endl; } int main() { Carre c1(7.3); cout << c1 << endl ; Carre * p = new Carre(); cout << *p << endl ; delete p; if(5) { Carre c2(1.4); cout << c2 << endl; } cout << "On sort du bloc \n\n"; for(int k = 1; k < 3; k++) f(k); continuer(); return 0; } /* Exécution : Carre de cote 7.3 Carre de cote 5.5 On appelle le destructeur Carre de cote 1.4 On appelle le destructeur On sort du bloc On quitte la fonction f On appelle le destructeur On quitte la fonction f On appelle le destructeur Appuyez sur une lettre suivie de Entree */