Bonjour,

J'ai une classe Voiture qui contient des "Roue"s comme variables membres.
Je cherche à initialiser les instances des classes "Roue" dans le constructeur de Voiture.
J'ai trouvé une solution (voir ci-dessous le constructeur de Voiture), mais je trouve cette syntaxe un peu compliquée, il y a une autre syntaxe pour appeler les constructeurs de "Roue" ?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
 
#include <iostream>
 
// Classe Roue
struct Roue {
 
private:
  float nDiametre;
 
public:
  Roue(float nDiametre) {
    this->nDiametre = nDiametre;
  }// Roue
 
  float getDiametre() {
    return nDiametre;
  }
 
};// Roue
 
 
// Classe Voiture
struct Voiture {
  Roue rAVG;
  Roue rAVD;
  Roue rARG;
  Roue rARD;
  static const float ncDiamParDefaut;
 
  Voiture() :rAVG(ncDiamParDefaut),
             rAVD(ncDiamParDefaut),
             rARG(15),
             rARD(15){
  }// Voiture
 
 
  void afficher() {
    std::cout << " AVG = " << rAVG.getDiametre()
              << " AVD = " << rAVD.getDiametre()
              << " ARG = " << rARG.getDiametre()
              << " ARD = " << rARD.getDiametre() << std::endl;
  }// afficher
 
};// Voiture
const float Voiture::ncDiamParDefaut = 12;// init de la constante
 
using namespace std;
 
int main(int argc, char* argv[])
{
  Voiture voiture1;
  voiture1.afficher();
  return 0;
}// main
A l'execution, ce programme donne bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 AVG = 12 AVD = 12 ARG = 15 ARD = 15