Programmation Orientée objet en C++
Chapitre 1. Vocabulaire
Chapitre 2. Principes de la programmation objet
Chapitre 3. Du C au C++
Chapitre 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
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

4.10. Objets contenant d'autres objets

On reste toujours dans le problème des constructeurs, puisqu’il s’agit encore ici d’un problème analogue. Imaginons que notre classe maClasse contienne des attributs d’autres classes :

maClasse {
maClasse2 m1 ;
maClasse3 m2 ;
}

Lors de l’instanciation d’un objet de la classe maClasse, son constructeur va être appelé. Or, si les objets m1 et m2 ne sont pas initialisés, il y a fort à parier que des problèmes font se produire puisque m1 et m2 n’auront pas les valeurs escomptées. Il faut donc appeler leurs constructeurs et qui plus est, il faut les appeler avant celui de maClasse.

Le constructeur de maClasse s’écrirait ainsi :

maClasse : : maClasse(int v1, int v2) : m1(…), m2(…) {
// si les constructeurs des objets m1 et m2 nécessitent des paramètres, il sera nécessaire de les y mettre également.

}

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante