Initialisation d'instance de classe

Initialisation d'instance de classe - C++ - Programmation

Marsh Posté le 18-12-2004 à 17:14:47    

J'ai un souci avec cet example :

Code :
  1. class toto
  2. {
  3. public :
  4. toto(int i) {}
  5. ~toto() {}
  6. bool get() { return _toto; }
  7. private :
  8. bool _toto;
  9. };
  10. class titi
  11. {
  12. public :
  13. titi(int i) {}
  14. ~titi() {}
  15. bool get() { return m_toto.get(); }
  16. private :
  17. typedef int i;
  18. class toto m_toto(i);
  19. };


 
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.

Reply

Marsh Posté le 18-12-2004 à 17:14:47   

Reply

Marsh Posté le 18-12-2004 à 17:49:07    

.h
 

Code :
  1. class titi
  2. {
  3. public :
  4.      titi(int i);
  5.      ~titi() {}
  6.      bool get() { return m_toto.get(); }
  7. private :
  8.      toto m_toto;
  9. };


 
 
.cpp
 

Code :
  1. titi::titi(int i) : m_toto(i) {
  2. }


Message édité par chrisbk le 18-12-2004 à 17:49:46
Reply

Marsh Posté le 18-12-2004 à 17:56:27    

Bon sang mais c'est bien sûr !
Merci chrisbk  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed