2
 P  ROGRAMMATION  O  RIENTÉE OBJET - C++P  BJECTIFS : Définir des classes avec le principe de l’héritage. Exercice 1 : Définir les classes Rectangle et Carré : Corriger le programme suivant: #include <iostream.h> int main() { Rectangle R; Carre c1,c2(13.0, 14.0); R.Longueur =10.5; R.Largeur = 11.2; c1.Longueur =22.0; c1.Largeur = 22.0; cout <<c1.aire(); R.changer_cote(32.0); cout <<c1.perimetre(); cout <<R.perimetre(); return 0 ; } Exercice 2: 1.Créer une classe de base Article. Un article possède deux champs privés:  Nom : string  Prix : double Et les opérations :  GetPrix() : pour retourne r le prix de l'article  SetPrix(double) : pour chan ger le prix de l'article  Afficher() : permet d’afficher le prix. 2. Réalise r en sui te une classe ArticleEnSolde , dérivée de la classe Article. Cette sous-classe comprend une information additionnelle: Remise : pourcentage de réduction sur le prix d'origine SetRemise(entier)  pour changer la remise . La classe va redéfinir la méthode GetPrix(),  afin de tenir compte du solde. Elle va également redéfinir la méthode Afficher(),  afin que l'affichage donne également le pourcentage de remise sur le prix d'origine. 1 TP 5: L’ HÉRITAGE Article ArticleEnSolde Héritage privé Rectangle - Longueur réel - Largeur réel +Rectangle (réel, réel) +aire () +perimetre () Carré +Carré (réel) +changer_cote(réel)

TP 5 Heritage

Embed Size (px)

Citation preview

5/15/2018 TP 5 Heritage - slidepdf.com

http://slidepdf.com/reader/full/tp-5-heritage 1/3

 

 P  ROGRAMMATION  O RIENTÉE OBJET - C++ P 

OBJECTIFS:

Définir des classes avec le principe de l’héritage.

Exercice 1 :

Définir les classes Rectangle et Carré : Corriger le programme suivant:

#include <iostream.h>int main(){

Rectangle R;Carre c1,c2(13.0,14.0);R.Longueur =10.5;R.Largeur = 11.2;c1.Longueur =22.0;c1.Largeur = 22.0;cout <<c1.aire();R.changer_cote(32.0);cout <<c1.perimetre();cout <<R.perimetre();return 0 ;

}

Exercice 2:

1.Créer une classe de base Article. Un article possède deux champs privés:

Nom : string

Prix : doubleEt les opérations :

GetPrix() : pour retourner le prix de l'article

SetPrix(double) : pour changer le prix de l'article

Afficher() : permet d’afficher le prix.

2. Réaliser ensuite une classe ArticleEnSolde, dérivée de la classe Article. Cette sous-classecomprend une information additionnelle:

Remise : pourcentage de réduction sur le prix d'origine

SetRemise(entier) pour changer la remise. La classe va redéfinir la méthode GetPrix(), afin de tenir compte du solde.

Elle va également redéfinir la méthode Afficher(), afin que l'affichage donne également lepourcentage de remise sur le prix d'origine.

1

TP 5: L’HÉRITAGE

Article

ArticleEnSolde

Héritage privé

Rectangle

- Longueur réel- Largeur réel

+Rectangle (réel, réel)+aire ()+perimetre ()

Carré

+Carré (réel)+changer_cote(réel)

5/15/2018 TP 5 Heritage - slidepdf.com

http://slidepdf.com/reader/full/tp-5-heritage 2/3

 

 P  ROGRAMMATION  O RIENTÉE OBJET - C++ P 

Exercice 3:

Au sein d’une banque, chaque adhérent pourra avoir un compte bancaire qui peut être uncompte épargne ou un compte courant. La classe compte bancaire comporte les données

membres protégées suivantes : numéro du compte (type long) et le solde (type double) et les

opérations publiques suivantes :

- Ajouter() : ajout de l’argent dans le compte- Retirer() : retirer de l’argent à partir d’un compte

- Afficher(): afficher les caractéristiques d’un compte.

Les classes CompteEpargne et CompteCourant héritent de la classe Compte.Au sein d’un compte épargne, la valeur minimale du solde est 5 dinars et contient un taux

d'intérêt annuel et une fonction permettant de calculer l'intérêt annuel, alors que pour un compte

courant son solde est limité à un seuil min égale a -500 D.

Définir les trois classes et tester par la suite ces fonctions dans un programme principal.

Exercice 4:

Définir les classes point, figure, cercle et cylindre (chaque classe un constructeur et l’héritageest publique) :

2

PointAbscisse

Ordonné

Affiche_nom()Changer_coord(x,y)

FigureCouleur

Epaisseur

Affiche_nom()Changer_couleur(c)Changer_epaisseur(e)

Cercle

Rayon

Affiche_nom()Changer_rayon(r)

Cylindrehauteur

Affiche_nom()

Changer_hauteur(h)

Compte

CompteEpargne CompteCourant

5/15/2018 TP 5 Heritage - slidepdf.com

http://slidepdf.com/reader/full/tp-5-heritage 3/3