Responsable Cours & TD : Mme I . C. Msadaa Programmation Orientée Objet Devoir Surveillé Durée : 1h30 – Documents non autorisés Exercice 1 :… [600801]
S.E.T.P – S.I.C
S2-2015
1
Responsable Cours & TD : Mme I . C. Msadaa
Programmation Orientée Objet
Devoir Surveillé
Durée : 1h30 – Documents non autorisés
Exercice 1 : Déclaration de classes, d’objets et constructeurs (9 pts):
Soit la classe Rectangle permettant de manipuler une forme géométrique rectan gulaire.
a. Dans un fichier rectangle .h, proposer une déclaration de la classe Rectangle . Cette
déclaration comprend : i) deux attributs de la classe Rectangle : un correspondant à
la hauteur, l’autre à la longueur du rectangle ii) un constructeur avec valeurs par
défaut, iii) un constructeur de copie, iv) un destructeur, v) un accesseur et un
mutateur pour chaque attribut, vi) une méthode constante de votre cho ix et vii) une
méthode surface permettant de calculer la surface du rectangle .
b. Donner la représentation en UML de la classe Rectangle .
c. Ecrire l’implémentation des deux constructeurs.
d. Ecrire l’implémentation de la méthode constante et de la méthode surface .
e. On suppose que l’ on veut créer plusieurs objets , instances de la classe Rectangle au
niveau de la fonction main .
Indiquer parmi ces déclarations celles qui seraient acceptées par le compilateur et
celles qui seraient rejetées.
i. Rectangle *r1 = new Rectangle (5,4);
ii. Rectangle r2(2, 8) ; Rectangle r3 = r2 ;
iii. Rectangle r4 ; Rectangle r5(r4) ;
iv. Rectangle *r6 ; r6 = new Rectangle (11) ;
f. Pour chacun des objets dont la déclaration serait acceptée par le compilateur :
i. Préciser quel constructeur serait utilisé pour la création de l’objet.
ii. préciser la valeur de la hauteur et de la longueur.
Exercice 2 : Passage par valeur/référence/adresse (8 pts)
Soit la classe Date déclarée comme suit au niveau de date.h :
class Date
{
private:
int jour, mois, annee;
public :
Date(int,int,int);
};
S.E.T.P – S.I.C
S2-2015
2
Responsable Cours & TD : Mme I . C. Msadaa
a. Introduire la fonction membre memeAnnee permettant de vérifier si deux dates
appartiennent à une même année. Pour cela, proposer un prototype et une
implémentation de la fonction memeAnnee :
i. En utilisant une transmission par valeur
ii. En utilisant une transmission par référence
iii. En utilisant une transmission par adresse
b. La surcharge est -elle possible pour ces 3 versions de la fonction memeAnnee ?
Expliquer.
c. Proposer une fonction main dans laquelle vous déclarez de ux objets date1 et
date2 de type Date de manière statique et deux autres objet s (un 3ème et un 4ème)
de manière dynamique.
d. Donner les instructions permettant de :
i. Tester si le 1er et le 2ème objet sont de la même année en utilisant
le passage par référenc e de la méthode memeAnnee.
ii. Tester si le 2ème et le 3ème objet sont de la même année en utilisant
le passage par référence de la méthode memeAnnee.
iii. Tester si le 2ème et le 3ème objet sont de la même année en utilisant
le passage par valeur de la méthode memeAnnee.
iv. Tester si le 2ème et le 3ème objet sont de la même année en utilisant
le passage par adresse de la méthode memeAnnee.
v. Tester si le 3ème et le 4ème objet sont de la même année en utilisant
le passage par adresse de la méthode memeAnnee
Exercice 3 : Allocation dynamique (3 pts)
Ecrire un programme en C++ qui permet de créer un tableau dynamique Tab de n entiers.
n étant saisi au clavier par l’utilisateur.
Le programme affiche le plus grand et le plus petit élément de Tab.
Questions Bonus (1 pt )
a. En quoi consiste le principe d’encapsulation en orienté objet?
b. Que signifie la signature d’une fonction ? quelle condition doivent remplir les
signatures de 2 fonctions pour que l’on puisse leur appliquer le principe de
surcharge. Expliquer.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Responsable Cours & TD : Mme I . C. Msadaa Programmation Orientée Objet Devoir Surveillé Durée : 1h30 – Documents non autorisés Exercice 1 :… [600801] (ID: 600801)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
