Cours:PooTD heritage
TD : héritage
On débute avec l'implémenation suivante d'un compte bancaire :
// compte.h
#ifndef COMPTE_H
#define COMPTE_H
#include <iostream>
class Compte {
public:
Compte(int _num);
void set_solde(float somme);
float get_solde();
int get_numero();
void depot(float somme);
void retrait(float somme);
std::string to_string();
private:
int num;
float solde;
};
#endif // COMPTE_H
// compte.cpp
#include "compte.h"
Compte::Compte(int _num) {
num = _num;
solde = 0;
}
void Compte::set_solde(float somme)
{
solde = somme;
}
float Compte::get_solde() {
return solde;
}
int Compte::get_numero() {
return num;
}
void Compte::depot(float somme) {
solde = solde + somme;
}
void Compte::retrait(float somme) {
solde = solde - somme;
}
string Compte::to_string() {
return "Compte n°" + std::to_string(num) + " - solde = " + std::to_string(solde);
}
L'objectif est de créer deux classes héritant de Compte
:
- Un
ComptePayant
est un compte bancaire pour lequel chaque opération de retrait et de versement est payante et vaut 5 (euros). - Un
compteEpargne
est un compte bancaire qui possède en plus un attributtaux_interet
et une méthodecalcul_interet()
qui permet de mettre à jour le solde en tenant compte des intérêts.
Travail à faire
- Faire le diagramme des classes
- Définir la classe
Compte
- Définir la classe
CompteEpargne
. - Définir la classe
ComptePayant
. - Définir la fonction
main()
permettant de tester les classes :- Créer une instance de la classe
Compte
, une autre de la classeCompteEpargne
et une instance de la classeComptePayant
- Faire appel à la méthode
depot()
de chaque instance pour déposer une somme quelconque dans ces comptes. - Faire appel à la méthode
retrait()
de chaque instance pour retirer une somme quelconque de ces comptes. - Faire appel à la méthode
calcul_interêt()
du compte Epargne. - Afficher le solde des 3 comptes.
- Créer une instance de la classe