Bonjour à tous,

j'ai créé un certain nombre de classe ces derniers temps, et à chaque fois que je créé une nouvelle classe, je me pose la question:
"est-ce que je met tout un tas de paramètres dans le constructeur ou est-ce que je ne fais qu'un constructeur par défaut et je créé une méthode d'initialisation pour ma classe?"

Exemple: je fais ça
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
 
classe MaClasse
{
public:
  MaClasse(int val1, int val2, string leNom);
 
private:
  int m_valeur1,m_valeur2;
  string m_leNom;
}
 
MaClasse::MaClasse(int val1, int val2, string leNom)
{
  m_valeur1 = val1;
  m_valeur2 = val2;
  m_leNom = leNom;
}
ou ça?
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
 
classe MaClasse
{
public:
  MaClasse();
  void init(int val1, int val2, string leNom);
 
private:
  int m_valeur1,m_valeur2;
  string m_leNom;
}
 
MaClasse::MaClasse(){}
 
void MaClasse::init(int val1, int val2, string leNom)
{
  m_valeur1 = val1;
  m_valeur2 = val2;
  m_leNom = leNom;
}
Dans quel cas utiliser quelle méthode? Qu'en pensez-vous?