Initialisation d'instance de classe - C++ - Programmation
MarshPosté le 18-12-2004 à 17:14:47
J'ai un souci avec cet example :
Code :
class toto
{
public :
toto(int i) {}
~toto() {}
bool get() { return _toto; }
private :
bool _toto;
};
class titi
{
public :
titi(int i) {}
~titi() {}
bool get() { return m_toto.get(); }
private :
typedefint i;
class toto m_toto(i);
};
Je voudrais donc déclarer la classe toto et l'initialiser avec i qui est à la base un argument du constructeur de la classe titi. Déjà je n'ai pas l'impression que ça soit possible de cette manière car j'ai dû faire un typedef pour que i soit accepté/reconnu, donc je pense qu'il ne sera pas passé correctement au constructeur de toto, et d'autre part maintenant j'ai l'erreur : test.cpp(23) : error C2228: la partie gauche de '.get' doit avoir un type class/struct/union le type est 'overloaded-function'
y a une façon de faire ou bien je dois plutôt déclarer un pointeur de classe toto() et l'initialiser dans le constructeur de titi ? Merci.
Marsh Posté le 18-12-2004 à 17:14:47
J'ai un souci avec cet example :
Je voudrais donc déclarer la classe toto et l'initialiser avec i qui est à la base un argument du constructeur de la classe titi.
Déjà je n'ai pas l'impression que ça soit possible de cette manière car j'ai dû faire un typedef pour que i soit accepté/reconnu, donc je pense qu'il ne sera pas passé correctement au constructeur de toto, et d'autre part maintenant j'ai l'erreur :
test.cpp(23) : error C2228: la partie gauche de '.get' doit avoir un type class/struct/union
le type est 'overloaded-function'
y a une façon de faire ou bien je dois plutôt déclarer un pointeur de classe toto() et l'initialiser dans le constructeur de titi ?
Merci.