C++ : Appel d'un autre constructeur de la classe

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 5 juin 2004 à 00:05
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 5 juin 2004 à 12:11
Salut,
j'ai un petit problème pour appeler un autre constructeur d'une classe. Ex :

// constructeur 1
CMyClass::CMyClass(int x, int y)
{
...
}

// constructeur 2
CMyClass::CMyClass(char* szText)
{
int x = szText[0];
int y = szText[1];

// ??? appel de CMyClass(x, y);
// en java on fait this(x, y) mais en C++ ?
}

merci.

4 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
5 juin 2004 à 09:14
CMyClass obj(1,2);

ou

CMyClass obj("toto");
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 juin 2004 à 11:26
je crois que j'ai pas du être très clair. en fait dans le constructeur2, je ne veux pas créer un 2nd objet CMyClass mais simplement appeler le constructeur1 en tant que fonction membre de la classe (avec le même pointeur this) à partir de constructeur2.

En fait, je crois que je vais passer par un fct d'init intermédiaire :

// constructeur 1
CMyClass::CMyClass(int x, int y)
{
Init(x, y);
}

// constructeur 2
CMyClass::CMyClass(char* szText)
{
int x = szText[0];
int y = szText[1];
Init(x, y);
}

CMyClass::Init(int x, int y)
{
...
}

merci quand même
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
5 juin 2004 à 11:38
ben si tu peux,

(*this)=CMyClass(1,2);
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 juin 2004 à 12:11
merci bien.
0
Rejoignez-nous