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

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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 (); CompteEpargne (std::string p, int num); ~ CompteEpargne (); protected : float m_tauxIntérêt; public : void FixerTauxIntérêt(); }; compteepargne.h #include #include "compteepargne.h" int main() { CompteEpargne ce; ce. FixerTauxIntérêt(2.25); ce.Crediter(1000); return 0; } 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); void Débiter(float); void Fermer(); }; 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.

2 #include " compteepargne.h" int main() { CompteBancaire cb; cb. Debiter(1200); CompteEpargne ce; ce. Debiter(500); CompteBancaire *pCompte; pCompte = new CompteEpargne; CompteBancaire->Debiter(500); return 0; } prog.cpp Si la fonction Debiter() nest pas redéfinie dans la classe CompteEpargne, appelle celle de CompteBancaire. #include comptebancaire.h class CompteEpargne : public CompteBancaire { public : CompteEpargne (std::string p, int num); ~ CompteEpargne (); protected : float m_tauxInteret; public : void FixerTauxInteret(); virtual void Débiter(float); }; compteepargne.h 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_tauxInteret; public : void FixerTauxInteret(); virtual void Debiter(float); }; compteepargne.h #include compteepargne.h void CompteEpargne:: Debiter(float v) { if (v <m_solde) m_solde -= v; } compteepargne.cpp #include comptebancaire.h void CompteBancaire:: Debiter(float v) { m_solde -= v; } comptebancaire.cpp #include " compteepargne.h" int main() { CompteBancaire cb; cb. Debiter(1200); CompteEpargne ce; ce. Debiter(500); CompteBancaire *pCompte; pCompte = new CompteEpargne; pCompte >Debiter(500); return 0; } prog.cpp Si la fonction Debiter() nest pas redéfinie dans la classe CompteEpargne, appelle celle de CompteBancaire. Class CompteBancaire { public : CompteBancaire(); CompteBancaire(std::string p, int num); ~ CompteBancaire(); protected : int m_numero; int m_solde; std::string m_proprietaire; public : void Crediter(float); virtual void Debiter(float); void Fermer(); }; comptebancaire.h Autorise la redéfinition de la fonction dans les classes dérivées Class CompteBancaire { public : CompteBancaire(); CompteBancaire(std::string p, int num); ~ CompteBancaire(); protected : int m_numero; int m_solde; std::string m_proprietaire; public : void Crediter(float); virtual void Debiter(float); void Fermer(); }; comptebancaire.h #include comptebancaire.h class CompteEpargne : public CompteBancaire { public : CompteEpargne (std::string p, int num); ~ CompteEpargne (); protected : float m_tauxInteret; public : void FixerTauxInteret(); virtual void Debiter(float); }; compteepargne.h Si la fonction Debiter() nest pas virtuelle, appelle celle de CompteBancaire.


Télécharger ppt "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."

Présentations similaires


Annonces Google