bonsoir,
j'ai un exercice à faire et je souhaiterais SVP , vous confirmez si mes réponses sont justes et les réponses aux questions que je n'ai pas su faire.
Mécanisme d’agrégation et héritage
On dispose du diagramme de classes suivant:
C%2B%2B.png (159,2 Ko)
1/ Déclarer la définition des classes CAutomobile, CMoteur, CMoteurEssence dans un fichier d’entête personnalisé. Écrire dans un fichier .cpp propre à chaque classe, son constructeur et sa méthode Afficher( ).
Attention : vous avez une agrégation.
2/ Compléter la fonction principale suivante afin d’afficher les caractéristiques d’un objet MonAuto:
- Prix: 11500
- Couleur: Blanche
- NumImmatriculation: CR-340-AB
- de moteur: MonMoteurà
main() {
CMoteur MonMoteur(110, «31AB47K») ;
CAutomobile MonAuto(..............) ; // A compléter
........... // A compléter
}
Tester votre programme.
d) Le monde de l’électrique dans le secteur automobile étant pour l’instant très succinct, j’opte pour une motorisation de type « Essence ».
Un objet NouvelAuto de caractéristiques :
- Prix: 11500
- Couleur: Blanche
- NumImmatriculation: CR-340-AB
Moteur essence: CMoteurEssence *NouveauMoteur ; PuissanceDynamique: 175
NumSerie: 68FH222S
VolumeReservoir: 60
NbreSoupape: 4
Coder puis tester votre programme nouveau programme afin d’afficher les caractéristiques ci-dessus.
1/ Class CMoteur
{
private :
int puissanceDynamique ;
string NumSerie ;
public :
CMoteur ( ) ;
CMoteur (int , string ) ;
~CMoteur ( ) ;
bool demarrer ( ) ;
bool arreter ( ) ;
void afficher ( ) ;
} ;
#include<iostream.h>
#include ‘’Moteur.h’’
CMoteur : :CMoteur ( )
{
cout<< ‘’Destruction du moteur ‘’<<this<< ‘’∖n ;
}
CMoteur : :CMoteur (int PD, string N)
{
puissanceDynamique = PD ;
NumSerie=N ;
}
boolCMoteur : : demarrer ( )
{
cout<< ‘’ ∖n CMoteur demarre’’ << endl ;
}
boolCMoteur : : arreter( )
{
cout<< ‘’∖n CMoteurarrete’’ <<endl ;
}
voidCMoteur : : afficher( )
{
cout<< ‘’ les caractéristiques du moteur sont : ∖n’’ ;
cout<<’’ puissanceDynamique’’<<puissanc eDynamique<<’’∖n’’ ;
cout<<’’NumSerie’’<<NumSerie<< ’’∖n’’ ;
}
#include ‘’Moteur.h’’
classCautomobile
{
private :
int prix ;
string couleur ;
stringNumImmatriculation ;
CMoteur*LeMoteur ;
Public :
CAutomobile( ) ;
CAutomobile(int,string,string, int,string) ;
~CAutomobile( ) ;
void avancer ( ) ;
void reculer ( ) ;
void afficher ( ) ;
} ;
CAutomobile : :CAutomobile ( )
{
}
CAutomobile : :CAutomobile (intpri,stringcoul,stringNI,in tPD,stringN)
{
prix=pri ;
couleur=coul ;
NumImmatriculation=NI ;
Le Moteur=newCMoteur(PD,N) ;
}
CAutomobile : :~CAutomobile ( )
{
deleteLeMoteur ;
}
void automobile : : avancer ( )
{
cout<< ‘’∖n automobile avance ‘’ << endl ;
}
void automobile : : reculer ( )
{
cout<< ‘’∖n automobile recule ‘’<<endl ;
}
voidCautomobile : : afficher ( )
{
cout<< ‘’prix ‘’<<prix<<’’couleur’’<<couleur <<’’NumImmatriculation’’<<NumI mmatriculation
’’∖n’’ ;
}
#include<iostream>
#include<estring>
#include ‘’ Moteur.h’’
usingnamespacestd ;
classCMoteurEssence : public CMoteur
{
private :
int Volume Reservoir ;
intNbre Soupape ;
CMoteur*unMoteur
Public :
CMoteurEssence( ) ;
CMoteurEssence(int, string,int,int) ;
~CMoteurEssence( )
void vidanger ( ) ;
void afficher ( ) ;
} ;
CMoteur : :CMoteurEssence (intPD,stringNS,intVR,int Nb)
{
volumereservoir=VR
NbreSoupape=Nb ;
Le Moteur = new CMoteur*[NbreSoupape] ;
For (int i= 0 ; i<NbreSoupape ;i++)
{
Le Moteur[i]= NULL;
}
}
voidCMoteur : : Vidanger ( )
{
}
voidCMoteur : : Afficher ( )
{
CMoteur *CeMoteur=newCMoteur( ) ;
For (int j=0 ;j<NbreSoupape ; j++)
{
CeMoteur→Afficher() ;
}
}
delete (Ce Moteur) ;
}
Merci pour votre aide
-----