mouadsa
Messages postés83Date d'inscriptionsamedi 7 juin 2008StatutMembreDernière intervention29 avril 2015
-
19 mai 2009 à 01:22
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
19 mai 2009 à 10:07
Bonsoir,
Alors, j'ai créer un programme en c++ concernant une classe "compte" où je px calculer le versement et le retrait bien sur sous condition. Maintenant je me demande comment je peux Hériter cette classe pour créer un autre "copmte carnet" où je peux mettre la fonction Calcul Intérêt (avec un taux fixe), en redéfinissant la fonction afficher et le constructeur aussi.
Merci d'avance.
Voici le programme :
#include
#include<conio.h>
class compte
{int Num_client;
int Num_agence;
int Num_compte;
float solde;
public:
compte(int cl, int ag, int nc, float sol)
{
Num_client=cl;
Num_agence=ag;
Num_compte=nc;
solde=sol;
}
void afficher()
{cout<<"N? du Client est: "<<Num_client<<"\n";
cout<<"N? de l'Agence est: "<<Num_agence<<"\n";
cout<<"N? du compte: "<<Num_compte<<"\n";
cout<<"Solde : "<<solde<<"\n";
}
void verser(float s)
{solde=solde+s;
}
void retirer(float s1)
{
if(solde>s1)
solde=solde-s1;
else
cout<<"Retrait impossible"<<endl;
}
}; //Fin Programme
void main()
{ clrscr();
int nc,na,nu;
float sol,s,s1;
cout<<"Entrer n? du client: "<<endl;
cin>>nu;
cout<<"Entrer n? de l'agence: "<<endl;
cin>>na;
cout<<"Entrer n? du compte "<<endl;
cin>>nc;
cout<<"Entrer le solde "<<endl;
cin>>sol;
compte c1(nu,na,nc,sol);
c1.afficher();
cout<<"Combien voulez vous verser??"<<endl;
cin>>s;
c1.verser(s);
cout<<"Votre nouveau solde est :";
c1.afficher();
cout<<"Combien voulez vous retirer??"<<endl;
cin>>s1;
c1.retirer(s1);
cout<<"Votre nouveau solde est :";
c1.afficher();
getch();}
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 19 mai 2009 à 10:05
On évite de coder dans un header. Sépare bien la définition du code.
Exemple:
Fichier header: (.h, .hh, .hpp)
class Toto
{
Toto();
void afficher();
};
Fichier de code: (.cpp, .cc)
Toto::Toto()
{
}
void Toto::afficher()
{
}
De plus, pour hériter il te suffit simplement d'utiliser l'opérateur ":".
Enfin, la signature d'un main est : int main() et non void main()
#include
class Compte
{
public:
Compte(int cl, int ag, int nc, float sol);
virtual void afficher() const;
virtual void verser(float s);
virtual void retirer(float s1);
private:
int _numClient;
int _numAgence;
int _numCompte;
float _solde;
};
Compte::Compte(int cl, int ag, int nc, float sol)
: _numClient(cl), _numAgence(ag), _numCompte(nc), _solde(sol)
{
}
void
Compte::afficher() const
{
std::cout << "N? du Client est: " << _numClient << std::endl;
std::cout << "N? de l'Agence est: " << _numAgence << std::endl;
std::cout << "N? du compte: " << _numCompte << std::endl;
std::cout << "Solde : " << _solde << std::endl;
}