Programmation Orientée objet en C++
Chapitre 1. 1 Vocabulaire
Chapitre 2. 2 Principes de la programmation objet
Chapitre 3. 3 Du C au C++
Chapitre 4. 4 Les classes
4.1. Entête dans le .hpp
4.2. Définition dans le .cpp
4.3. Instanciation et Utilisation
4.4. Utilisation avec des pointeurs
4.5. Fonctions
4.6. Constructeurs/Destructeurs
4.7. Objets utilisés en paramètres, en retour
4.8. Adresse d'un objet : this
4.9. Constructeur par recopie
4.10. Objets contenant d'autres objets
4.11. Surcharge/Surdéfinition d'opérateurs
4.12. Héritage
Home pageContentsHigher levelPrevious page Bottom of page

Inclusion des fichiers

Lors d’héritage, il risque de se produire l’inclusion de même fichiers dans différentes classes.
Prenons l’exemple de deux classes C1 et C2 héritant d’une même classe C. Chacune de ces deux classes va réaliser un #include « C.hpp ». Imaginons un programme qui a besoin de déclarer ces deux objets, il fera un #include « C1.hpp » et #include « C2.hpp » ce qui provoquera une erreur du compilateur puisqu’il verra deux fois la même classe ( C ) et donc soulèvera le problème d’une double définition.

On prendra pour cela l’habitude pour chaque classe, d’inclure les directives de compilation en entête du .hpp.

#ifndef nomDeLaClasse
#define nomDeLaClasse

… corps du .hpp
#endif
;

Lors de la première inclusion du .hpp, une variable correspondant au nom de la classe sera déclarée (peu importe sa valeur, nous n’en avons pas mis ici). A partir de la seconde inclusion, le .hpp ne sera pas pris en compte puisque la variable sera déjà définie.

Home pageContentsHigher levelPrevious pageTop of pageFollowing page