Aller au contenu

corrigéTD7POO

Aperçu du document corrigéTD7POO.pdf, page 1 sur 2
Page 1 sur 2Lire le document
Texte de la première page
Correction TD7: héritage
#include <iostream.h>
//*************** classe forme3D *******************
class Forme3D
{
protected:
float hauteur;
public:
Forme3D(float h=0):hauteur(h) {}
virtual ~Forme3D() {}
float Volume() const
{
return hauteur*SurfaceSection();
}
virtual float SurfaceSection() const=0; //méth. Virtuelle pure
virtual void Affiche() const=0; // méth. Virtuelle pure
};
//**************** classe Parallélépipède ******************
class Parallelepipede: public Forme3D
{
protected:
float longueur, largeur;
public:
Parallelepipede(float h=0,float lo=0,float la=0)
:Forme3D(h),longueur(lo),largeur(la) {}
~Parallelepipede() {}
float SurfaceSection() const
{
return longueur*largeur;
}
void Affiche() const
{
cout<<"Parallelepipede:"<<endl;
cout<<" longueur= "<<longueur<<endl;
cout<<" largeur= "<<largeur<<endl;
cout<<" hauteur= "<<hauteur<<endl;
}
};
//**************** classe cylindre ******************
class cylindre: public Forme3D
{
protected:
float rayon;
public:
cylindre(float h=0,float r=0)
:Forme3D(h),rayon(r) {}
~cylindre() {}
float SurfaceSection() const
{
return rayon*rayon*3.1415;

}
void Affiche() const
{
cout<<"Cylindre:"<<endl;
cout<<" rayon= "<<rayon<<endl;
cout<<" hauteur= "<<hauteur<<endl;
}
};
//**************** classe EnsFormeD ******************
class EnsFormeD
{
private:
Forme3D* * Ens;
Int taille, nbre ;
public:
EnsFormeD(int n)
{
Taille = n ;
Ens = new Forme3D*[taille] ;
Nbre = 0 ;
}
~EnsFormeD()
{
for(int i=0;i<taille; i++)
delete Ens[i];
delete [] Ens ;
}
void Ajouter( Forme3D *f)
{
Tab[nbre] = f ;
Nbre ++ ;
}
int NbreForme() const { return nbre; }
Forme3D & operator[] (int i) { return *Ens[i]; }
float VolumeTotal()
{
Float vol=0;
for (int i=0;i<taille; i++)
volume+=(*Tab[i]).volume();
return vol;
}
};
//************************* fonction main **********
void main()
{
EnsFormeD e;
e.Ajouter(new Parallelepipede(30,50,60));
e.Ajouter(new cylindre(35,70));
for(int i=0; i<e.NbreForme(); i++)
e[i].Affiche();
}



Partager ce document

corrigéTD7POOfichier-pdf.frPDF2 pages

Vos contacts verront cette carte, avec la première page en image.

QR Code de ce document
Sur un téléphoneScannez le code pour ouvrir le document.Enregistrer le QR Code

Télécharger le fichier

Première page du document
Téléchargement gratuit

corrigéTD7POO.pdf

PDF 1.511 Ko2 pages

Faire un lien vers ce document

Lien permanentpour un message, un forum, un réseau social
Lien courtpour un SMS ou un profil
Code HTMLpour un site ou un blog

Sur le même sujet

Les mots qui reviennent le plus dans ce document. Chacun lance une recherche dans les fichiers publics.