[Question par procuration d'un mec n'ayant pas internet]
Bonjour, dsl mais le nombre de caractères limité du titre ne me permet pas de bien décrire ma question
En fait, je voudrais savoir si c'est une bonne idée d'utiliser une structure pour chaque classe, qui servirait à initialiser le constructeur.
Par exemple, au lieu de faire çà:
.. Faire ceci :
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 C { private: int m_a; int m_b; int m_p; //... + autres membres qui ne sont pas initialisés par l'utilsiateur de la classe... public: C(int a, long b, void* p); }; ... C* c = new C(1, 2, NULL);
L'intérêt serait de ne pas avoir à changer le prototype du constructeur en cas de modification des paramètres d'initialisation... et le fait d'avoir une sorte d'initialisation "en colonne" plutot que "en ligne". Enfin bref...
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
17
18
19
20
21
22
23
24
25
26 struct C_Init { int a; long b; void* p; }; class C { private: int m_a; long m_b; void* m_p; public: C(const C_Init &init); }; ... C_Init init; init.a = 1; init.b = 2; init.p = NULL; C* c = new C(init);
=> qu'en pensez-vous ? (effets indésirés, lourdeur, etc ? [rolkA: vraiment lourd je trouve])
=> avez-vous déjà vu cette méthode employée quelquepart ? Dans une librairie par exemple ?
Merci d'avance![]()
Partager