La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction au C++ héritage / polymorphisme Françoise Lefebvre, IPN, SII.

Présentations similaires


Présentation au sujet: "Introduction au C++ héritage / polymorphisme Françoise Lefebvre, IPN, SII."— Transcription de la présentation:

1 Introduction au C++ héritage / polymorphisme Françoise Lefebvre, IPN, SII

2 Héritage Lhéritage permet de spécialiser une classe en définissant une relation de type « est une sorte de ». #include comptebancaire.h class CompteEpargne : public CompteBancaire { public : CompteEpargne (std::string p, int num); ~ CompteEpargne (); protected : float m_tauxIntérêt; public : void FixerTauxIntérêt(); }; #include #include " compteepargne.h" int main() { CompteEpargne ce; ce. FixerTauxIntérêt(2.25); ce.Crediter(1000); std::cout << ce. Solde() << std::endl; return 0; } compteepargne.hprog.cpp Class CompteBancaire { public : CompteBancaire(); CompteBancaire(std::string p, int num); ~ CompteBancaire(); protected : int m_numéro; int m_solde; std::string m_propriétaire; public : void Créditer(float); void Débiter(float); void Fermer(); int Numéro(); int Solde(); std::string Propriétaire(); }; comptebancaire.h #include compteepargne.h CompteEpargne::CompteEpargne() : public CompteBancaire() { } CompteEpargne::CompteEpargne(std::string p, int num) : public CompteBancaire( p, num) { } compteepargne.cpp Le constructeur de la classe dérivée appelle généralement un des constructeurs de la classe de base.

3 Polymorphisme Un objet héritant une méthode d'une classe parente peut réagir de façon différente à l'appel de cette méthode. #include comptebancaire.h class CompteEpargne : public CompteBancaire { public : CompteEpargne (std::string p, int num); ~ CompteEpargne (); protected : float m_tauxIntérêt; public : void FixerTauxIntérêt(); virtual void Débiter(float); }; #include " compteepargne.h" int main() { CompteBancaire cb; cb. Débiter(1200); CompteEpargne ce; ce. Débiter(500); return 0; } compteepargne.h prog.cpp Class CompteBancaire { public : CompteBancaire(); CompteBancaire(std::string p, int num); ~ CompteBancaire(); protected : int m_numéro; int m_solde; std::string m_propriétaire; public : void Créditer(float); virtual void Débiter(float); void Fermer(); int Numéro(); int Solde(); std::string Propriétaire(); }; comptebancaire.h #include compteepargne.h void CompteEpargne:: Débiter(float v) { if (v


Télécharger ppt "Introduction au C++ héritage / polymorphisme Françoise Lefebvre, IPN, SII."

Présentations similaires


Annonces Google