Vous êtes sur la page 1sur 1

Université Ibn Zohr

Faculté des Sciences Agadir


Filière Sciences Mathématique (SM)

Filière : SM6
Module : programmation avancée C++
Durée : 1h 30mn
Responsable : Karim AFDEL

GESTION DES FOURNITURES BUREAUTIQUE


PROBLEME
On souhaite réaliser une application de gestion des fournitures de bureau. Ces articles pourront être de types
divers, représentés sous la forme d'objets dans l'application.
Les articles sont caractérisés par le schéma UML:
Stylo Ramette
- chaine couleur; - chaine format
Stylo (…..) ; Ramette (…..) ;
Stylo () ; Ramette () ;
void affiche (); void affiche() ;
ostream operator << ( ostream &sortie, Stylo &St) ; ostream operator << ( ostream &sortie, Ramette &R) ;
//friend // friend

Article
# nom; chaine
# reference; chaine
# prixUnitaire; double
+Article (chaine _nom, chaine _reference, double _prixUnitaire) ;
+Article () ;
+ void setNom(chaine nouveau_nom) ;
+ void setRef(chaine ref);
+void setPrix(double nouveau_prix);
+chaine getNom() ;
+chaine getRef();
+double getPrix();
+ostream operator << ( ostream &sortie, Article &art) ;// ( friend)
+ void affiche();
+ : public, – : private, # : protected
Les articles sont de type stylo ou ramette de papier,
Un stylo est un article décrit par sa marque, sa référence, son prix unitaire et sa couleur,
Une ramette de papier est un article décrit par sa marque, sa référence, son prix unitaire et sa Format du papier
(A4, A5),
1. Donner et décrire les concepts les plus importants de la programmation orienté objet.
2. Implémenter les classes correspondant aux schémas UML Article, Stylo, Ramette ;
3. Définir les constructeurs avec argument, par défaut et les méthodes des classes ;
4. Ecrire la fonction main ()
a. créant des objets des classes Article, Stylo, Ramette;
b. afficher les attributs de ces objets en utilisant la méthode affiche () et l’opérateur << (définie
comme méthode amie);
c. Créer un objet Stylo1 de type stylo et affichez les attribut de cet objet en utilisant la déclaration
suivante :
Article *ptr_article ;
Ptr_article = & Stylo1 ;
d. Qu’est ce qu’elle affiche l’instruction suivante :
Ptr_article -> affiche () ;
Comment peut on corriger cette erreur pour que l’instruction précédente appel la méthode
affiche () appropriée.