Je me pose une question concernant les listes d'initialisation dans le constructeur d'une classe. Si la classe (Class1) contient beaucoup d'attributs membres qui sont des instances d'autres classes (Class2, Class3, Class4). Supposons que ces autres classes ne possèdent pas de constructeur sans argument. Alors nous sommes obligés d'utiliser une liste d'initialisation dans le constructeur de Class1 pour initialiser ses membres.
Le code ressemblerait à ceci :
Il me semble que si l'on a beaucoup d'attribut membres de ce genre, cela devient vite un peu fastidieux d'avoir des énormes listes d'initialisation de ce genre. Donc la question que je me pose dans ce genre de situation. Faut-il prévoir un constructeur par défaut au classes (Class1, Class2, Class3) ou bien il faut quand même utiliser les listes d'initialisation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class Class1 { private : Class2 objet1; Class3 objet2; Class4 objet4; public : Class1(); }; // Constructeur de la classe Class1 Class1::Class1() :objet1(...), objet2(...), objet4(...) { }
Merci d'avance de m'éclairer un peu sur votre façon de faire.
Partager