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

  FORUM HardWare.fr
  Programmation
  C++

  [question stupide] geters/seters [résolu, merci]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[question stupide] geters/seters [résolu, merci]

n°513130
arghbis
salops de dauphins
Posté le 12-09-2003 à 11:15:20  profilanswer
 

salut tout le monde,
 
me voilà plongé dans le merveilleux monde du c++!  :sarcastic:  
 
bon une question stupide : j'ai créé une classe (avec header et implémentation ad hoc) et je me demandais où je devais mettre l'implémentation des getters/setters. logiquement, je les ai mises dans le fichier cpp, mais je ne parvens pas à compiler lorsque je les mets.
 
exemple de code :

Code :
  1. string maClasse::att1() {
  2.   return _att1;
  3. }


 
et là il me sort une erreur de syntaxe avant le ::
 
normal ou pas?
 
merci pour votre aide!


Message édité par arghbis le 12-09-2003 à 11:32:25
mood
Publicité
Posté le 12-09-2003 à 11:15:20  profilanswer
 

n°513135
LetoII
Le dormeur doit se réveiller
Posté le 12-09-2003 à 11:21:13  profilanswer
 

Bon déjà retourner un objet c mal, on retourne des références c mieux (sauf cas très particuliers).
 
Ensuite c quoi l'erreur? C quoi le reste du code? Désolé mais on est pas devin ici  [:spamafote]


---------------
Le Tyran
n°513139
Taz
bisounours-codeur
Posté le 12-09-2003 à 11:24:41  profilanswer
 

LetoII a écrit :

Bon déjà retourner un objet c mal, on retourne des références c mieux (sauf cas très particuliers).

c'est que tu commences à être bien toi

n°513141
arghbis
salops de dauphins
Posté le 12-09-2003 à 11:25:40  profilanswer
 

ouaip, bon là ce n'est qu'un exemple (pour ta remaque, il vaut donc mieux que je fasse return &_att1 ?).
 
je pense avoir trouvé l'erreur : j'avais des typdef dans mon header et je ne les ai pas répéter dans le cpp. maintenant ça roule!  
 
merci!

n°513146
LetoII
Le dormeur doit se réveiller
Posté le 12-09-2003 à 11:29:00  profilanswer
 

Taz a écrit :

c'est que tu commences à être bien toi


 
C bien de temps en temps d'indiquer au gens les bonne pratique, et ce dans la bonne humeur ;)
 

arghbis a écrit :

ouaip, bon là ce n'est qu'un exemple (pour ta remaque, il vaut donc mieux que je fasse return &_att1 ?).


 
 :non:  
 

Code :
  1. string &maClasse::att1() {
  2. return _att1;
  3. }
  4. const string &maClasse::att1() const{
  5. return _att1;
  6. }


 
Edit: return &_att1; renvoie l'adresse de la variable.
 

arghbis a écrit :


je pense avoir trouvé l'erreur : j'avais des typdef dans mon header et je ne les ai pas répéter dans le cpp. maintenant ça roule!  
 
merci!


 
 :heink:


Message édité par LetoII le 12-09-2003 à 11:31:05

---------------
Le Tyran
n°513147
Taz
bisounours-codeur
Posté le 12-09-2003 à 11:29:09  profilanswer
 

arghbis a écrit :

ouaip, bon là ce n'est qu'un exemple (pour ta remaque, il vaut donc mieux que je fasse return &_att1 ?).
 
je pense avoir trouvé l'erreur : j'avais des typdef dans mon header et je ne les ai pas répéter dans le cpp. maintenant ça roule!  
 
merci!

tu sais ce qu'est une référence?

n°513151
arghbis
salops de dauphins
Posté le 12-09-2003 à 11:32:06  profilanswer
 

je pense en avoir compris le principe oui, mais je progresse petit à petit. je dois faire du c++ alors que je ne connais dékà pas le c.  
donc c pas facile (sans jeu de mot nul). Mais je vous remercie pour vos conseils, c'est comme ça qu'on progresse!  :jap:

n°513169
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-09-2003 à 11:56:29  profilanswer
 

arghbis a écrit :

je dois faire du c++ alors que je ne connais dékà pas le c.  


 
ça évite justement de mélanger les deux, t'as une chance de faire du vrai c++ et de ne pas te faire tuer par Taz, profites-en :D


Message édité par antp le 12-09-2003 à 11:56:45

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°513213
arghbis
salops de dauphins
Posté le 12-09-2003 à 12:55:55  profilanswer
 

bon je viens de comprendre mon erreur, mais vraiment le pourquoi du comment!  
 
en fait, dans mon header, j'ai des typedef genre typedef list<string> strList;
 
dans mon .cpp, j'ai fait des getters setters du genre strList &getMachin (){ return _machin;}.
 
il fallait en fait rajouter le machin bidule de portée :
maClasse::strList &getMachin(){};
 
merci pour vos conseils de prog!
 

n°513216
Taz
bisounours-codeur
Posté le 12-09-2003 à 13:00:32  profilanswer
 

Code :
  1. maClasse::strList &getMachin(){};

qui provoque plusieurs erreurs de compilation sur tous les compilateurs au monde

mood
Publicité
Posté le 12-09-2003 à 13:00:32  profilanswer
 

n°513226
arghbis
salops de dauphins
Posté le 12-09-2003 à 13:09:33  profilanswer
 

rohlalala! tout ça paske j'ai eu la flemme de réécrire le return!
 
 :whistle:
 
--edit--  
ah non effectivement j'ai oublié un truc!!  
 
maClasse::strList &maClasse::returnMachin (){return _machin;}


Message édité par arghbis le 12-09-2003 à 13:11:17

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

  [question stupide] geters/seters [résolu, merci]

 

Sujets relatifs
Question sur les variablesURGENT : question sur PHP nuke
[RESOLU] HTML et variable[Java][Swing] Problème de taille avec JSplitPane [résolu]
[résolu]variables provenant d'un <select> à choix multiplesErreur de compilation... [RESOLU]
une petite question fonctionnel sur le timestamp[Résolu]Impossible de créer un objet CardLayout ???
[RESOLU] acces à un div dont le nom est dynamiqueVérification de boutons radio [résolu]
Plus de sujets relatifs à : [question stupide] geters/seters [résolu, merci]


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