Bonjour,
Je dispose de 2 classes :
Tout va bien pour le premier constructeur de B, lorsque j'utilise :
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 class A{ private : std::string nom; int valeur; public : A(std::string,int); }; class B : public A{ protected : static int numero; public : B(std::string nom,int valeur); B(int); };
Par contre, je ne vois pas du tout comment faire pour utiliser le second constructeur. En fait, je voudrais qu'un nom par défaut (mais différent à chaque fois) soit attribué, en utilisant la variable static numero.
Code : Sélectionner tout - Visualiser dans une fenêtre à part B::B(std::string nom, int valeur) : A(nom,valeur){...}
En gros, je voudrais passer en argument une string de valeur : "Objet_"+numero
Le problème qui se pose est que C++ ne fait pas un transtypage automatique de int vers string et je n'arrive pas à voir comment je pourrais faire.
Je sais que je pourrais utiliser stringstream, mais impossible pour un passage de paramètre direct au constructeur de la classe mère.
Quelqu'un aurait-il une solution à me proposer ?
Merci.
PS : En Java, la manipulation serait plus facile en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public B(int valeur){ super("Objet_"+numero,valeur); numero++; }
Partager