Vous êtes sur la page 1sur 2

Programmation Orientée Objet

TD5 

HERITAGE

Class Reference
{
public:
Reference(char*,char*,char*,int);
~Reference();
void afficheRef();
private:
char *titre;
char *auteur;
char *Edition;
int Annee;

};

class Ouvrage : protected Reference


{
public:
Ouvrage(int,char*,char*,char*,int);
~Ouvrage();
void afficheO();
private:
int code;
};

1
class Livre: public Ouvrage
{
public:
Livre(int, float,float,int,char*,char*,char*,int);
~Livre();
void afficheL();
float prixunitaire;
float remise;
private:
int nbexemplaire;

};
class Revue: private Ouvrage
{
public:
Revue(int,float,int,char*,char*,char*,int);
~Revue();
void afficheR();
float prixU;
private:
int periodicite;
};

1) Déclarer uniquement les constructeurs de chaque classe et sous classe. La taille maximum
des chaînes de caractères est 50.

2) Soit la déclaration des deux objets L et R à travers le constructeur paramétré :

Livre L(2, 5.500, 0.15, 111, "POO","personne","MicroSoft","2000");


Revue R(3,10.000,222,"IJDAR","auteur","IAPR","2008");

a) Qu'elles sont les méthodes et les attributs public, protected et private associés à chaqu'un
des deux objets L et R ?
b) Donner l'ordre d'appel des constructeurs et destructeurs pour chacun des deux objets L et
R.

3) En gardant le mode d’accès et d'héritage ci-dessus, faites les modifications nécessaires


ensuite écrire le programme principal qui permet de:

a) Afficher tous les paramètres associés à chaque objet L et R.


b) Calculer et afficher le prix total de ces deux "Ouvrages" , sachant que le prix total est
égale à la somme du prix unitaire de R et du [prix unitaires - (prix unitaires*remises)]*nombre
d’exemplaires de l’objet L.

Vous aimerez peut-être aussi