Bonjour,

Je dispose de 2 classes :
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);
};
Tout va bien pour le premier constructeur de B, lorsque j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
B::B(std::string nom, int valeur) : A(nom,valeur){...}
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.

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++;
}