#include #include #include using namespace std; class A { private: int nbCafe; public : void afficher(string mess); void setCafe(int nouvCafe) { nbCafe = nouvCafe; } }; void A::afficher(string mess) { cout << mess << " : " << nbCafe << " tasse(s) de cafe\n"; } class B { private: int nbCafe; public : B(int nbCafe) { this->nbCafe = nbCafe; } void afficher(string mess); }; void B::afficher(string mess) { cout << mess << " : " << nbCafe << " tasse(s) de cafe\n"; } class C { private: int nbCafe; public : C(int nbCafe) { this->nbCafe = nbCafe; } C() { nbCafe = 1; }; ~C() { cout << "On appelle le destructeur de C pour " << nbCafe << " tasse(s)\n"; } void afficher(string mess); }; void C::afficher(string mess) { cout << mess << " : " << nbCafe << " tasse(s) de cafe\n"; } // pour consulter l'écran d'exécution void continuer() { char reponse ; cout << "\nAppuyez sur une lettre suivie de Entree " ; cin >> reponse ; } int main() { A a1 ; a1.afficher("Infos de a1"); a1.setCafe(3); a1.afficher("Infos de a1 maintenant"); A a2 = a1; a2.afficher("Infos de a2"); A a3(a1); a3.afficher("Infos de a3"); B b1(5); b1.afficher("\nInfos de b1"); B b2 = b1; b2.afficher("Infos de b2"); B b3(b1); b3.afficher("Infos de b3"); if (5) { C c1(4); C c2; c1.afficher("\nInfos de c1"); c2.afficher("\nInfos de c2"); C c3=c2; C c4(c1); c3.afficher("Infos de c3"); c4.afficher("Infos de c4"); } continuer(); return 0; } /* Exécution : Infos de a1 : 1979098178 tasse(s) de cafe Infos de a1 maintenant : 3 tasse(s) de cafe Infos de a2 : 3 tasse(s) de cafe Infos de a3 : 3 tasse(s) de cafe Infos de b1 : 5 tasse(s) de cafe Infos de b2 : 5 tasse(s) de cafe Infos de b3 : 5 tasse(s) de cafe Infos de c1 : 4 tasse(s) de cafe Infos de c2 : 1 tasse(s) de cafe Infos de c3 : 1 tasse(s) de cafe Infos de c4 : 4 tasse(s) de cafe On appelle le destructeur de C pour 4 tasse(s) On appelle le destructeur de C pour 1 tasse(s) On appelle le destructeur de C pour 1 tasse(s) On appelle le destructeur de C pour 4 tasse(s) Appuyez sur une lettre suivie de Entree */