Année académique : 2021-2022
Service de la Scolarité et des TP N°1 : Les concepts de base de la
Examens POO
Niveau : Licence Informatique 1
Objectifs :
• Définition d'une classe
• Contrôle d'accès aux membres d'une classe
• Fonctions membres d'une classe
• Constructeurs de classe
• Les fonctions amies d'une classe
• Le pointeur this
• Le constructeur de recopie par défaut
• Membres statiques d'une classe
• Pointeurs désignant des classes
• Mise en œuvre d'un constructeur de recopie
• Tableaux d'objets d'une classe
On souhaite manipuler des boîtes, pour cela on définit une nouvelle classe CBox.
Initiation à l'utilisation des classes
1. Créer un nouveau projet console "Box".
2. Ajouter une nouvelle classe nommée CBox.
3. Dans l'onglet Fileview vérifier la présence de deux fichiers (Box.cpp, Box.h)
4. Ajouter trois données membres de type double (m_Length, m_Breadth et m_Height) avec un
attribut d'accès public.
5. Initialiser les trois attributs à 0.0 dans le constructeur par défaut de la classe.
6. Créer un nouveau fichier "main.cpp", ajouter le code nécessaire pour tester la nouvelle classe.
Ajout d'une fonction membre
7. Ajouter une fonction membre Volume(), qui permet de calculer le volume d'une boîte. Tester la
fonction.
8. Modifier la fonction précédente, pour qu'elle soit une fonction "en ligne".
Ajout d'un constructeur
9. Ajouter un constructeur, qui permet d'initialiser les trois données membres:
a. Au moyen d'une affectation explicite
b. Au moyen d'une liste d'initialisation
Définir les valeurs par défaut du constructeur à 1.0.
10. Ajouter un message "Appel du constructeur" dans le constructeur ; Tester le nouveau
constructeur.
Membres données privés
11. Récrivez la classe CBox pour en définir les membres comme private.
12. Ajouter trois fonctions membres en ligne GetLength(), GetBreadth() et GetHeight()
chacune permet de renvoyer la valeur du membre donnée correspondant. tester de nouveau.
1
Service de la Scolarité et des
Examens
Fonction amie
13. Ajouter une fonction amie BoxSurface(CBox aBox), qui permet de calculer la surface d'une
boîte.
Utilisation explicite de this
14. Ajouter une fonction public compare, cette fonction permet de comparer le volume de deux
objets CBox, elle prend comme argument un objet boîte, et renvoie true si la première est plus
grand que la second, et false dans le cas contraire.
15. Ajouter une version ordinaire de la fonction compare, elle prend comme argument deux objets
boîte, et renvoie true si la première est plus grand que la second, et false dans le cas contraire.
Constructeur de copie par défaut
16. Soient deux objets CBox:
CBox box1 = (78.0, 24.0, 18.0) ;
CBox box2 = box1 ;
Afficher les volumes des deux boîtes, que remarquez-vous ? Conclusion ?
Membres statiques d'une classe
17. Ajouter un membre donnée statique objectCount, Ajouter les instructions nécessaires pour
pouvoir compter le nombre d'objets. Créer plusieurs objets et afficher le nombre d'objets crée de
deux manières différentes.
18. Ajouter une fonction membre statique ObjectCounter(), qui permet d'afficher le nombre
d'objets crée.
Pointeurs désignant des classes
19. Modifier le prototype de la fonction membre compare, pour qu'elle prenne comme argument
un pointeur sur un objet CBox. Tester cette nouvelle fonction.
Constructeur de copie ([de | par] recopie)
20. Ajouter un constructeur de copie.
21. Pourquoi et quand il faut absolument créer notre propre constructeur de recopie ?
Tableaux d'objets d'une classe
22. Déclarer un tableau de cinq CBox, initialiser et afficher les cinq boîtes.