Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
788 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Template & class

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Template & class

n°1598780
Ben_be
ʎlıɐp uǝɯǝlʇuǝƃ ̡̢̛̗̘̙̜̝̞̟̠̊̋̌̍
Posté le 12-08-2007 à 22:46:13  profilanswer
 

Hello,
J'ai un peu oublié les templates, donc voilà:

 

Je déclare une template de class du style:

 
Code :
  1. template <class T> class MyData
  2. {
  3. public:
  4.     MyData();
  5.     void Setup(string NewName);
  6. private:
  7.     string DataName;
  8.     T TheData;
  9. };
  10. template <class T> void MyData<T>::Setup(string NewName)
  11. {
  12.     DataName=NewName;
  13. }
 

Puis, je crée une classe comme ca:

Code :
  1. class truc
  2. {
  3.      Truc();
  4.      MyData <int> ID();
  5.      MyData <string> Name();
  6. }
 

et dans le constructeur de truc:

 
Code :
  1. truc::truc()
  2. {
  3.     ID.Setup("ID" );
  4.     Name.Setup("Name" );
  5. }
 


Réponse du compilateur (gcc)

myclasses.cc:6: error: ‘((truc*)this)->truc::ID’ does not have class type

 

Pourquoi?  :heink:


Message édité par Ben_be le 12-08-2007 à 22:47:19

---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
mood
Publicité
Posté le 12-08-2007 à 22:46:13  profilanswer
 

n°1598783
Ben_be
ʎlıɐp uǝɯǝlʇuǝƃ ̡̢̛̗̘̙̜̝̞̟̠̊̋̌̍
Posté le 13-08-2007 à 00:32:35  profilanswer
 

Je cerne +/- le problème: j'ai déclaré  
int *ID
dans la classe, puis dans le constructeur, je fais l'allocation avec new, et là ca marche, mais j'ai pas compris pourquoi :??:
C'est du au fait que quand je déclare ma classe dans une classe il passe par le constructeur de la première classe?


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
n°1598795
Taz
bisounours-codeur
Posté le 13-08-2007 à 08:34:11  profilanswer
 

MyData <int> ID();
 
 
déclaration de fonction membre ... aucun problème de template donc.

n°1598799
Joel F
Real men use unique_ptr
Posté le 13-08-2007 à 09:18:03  profilanswer
 

Bon eh oh

 
Code :
  1. class truc
  2. {
  3.      Truc();
  4.      MyData <int> ID;
  5.      MyData <string> Name;
  6. }
 

et dans le constructeur de truc:

 
Code :
  1. truc::truc()
  2. {
  3.     ID.Setup("ID" );
  4.     Name.Setup("Name" );
  5. }
 

Faudra voir à revoir ces bases ^^


Message édité par Joel F le 13-08-2007 à 09:18:18
n°1598938
Ben_be
ʎlıɐp uǝɯǝlʇuǝƃ ̡̢̛̗̘̙̜̝̞̟̠̊̋̌̍
Posté le 13-08-2007 à 13:36:21  profilanswer
 

Je suis une bille  :D  
J'y ai pensé en me levant ce matin en plus :D.
Merci Joel [:charlest]


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Template & class

 

Sujets relatifs
Besion d'aide pour modif d'un template flashFaire une petite modification sur un template
comment linker une class as2 avec un mc dynamique ?Template c++
template[PHP] Imbrication de méthodes dans une class
friend surcharge class templateIntelliJ Idea, comment on change les Class Template ?
VERY URGENT !!!!!!! c++ utulisation des template pour un class listeExporter une class template à partir d'un DLL avec Borland C++ Builder
Plus de sujets relatifs à : Template & class


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR