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

  FORUM HardWare.fr
  Programmation
  C++

  Passage de variables entre deux classes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passage de variables entre deux classes

n°1730527
nisalon_ca​je
Posté le 10-05-2008 à 18:46:03  profilanswer
 

Bonjour, voici le petit problème sur lequel je suis tombé et je ne parviens pas à proprement le résoudre :
 
J'aimerai pouvoir accéder depuis une fonction membre d'une classe cl1 à une variable statique d'une classe cl2 mais je trouve pas comment faire ???
 
Je vous remercie par avance de votre aide
 
NC
 
ps : j'ai essayé d'appeler la variable dans la fonction par cl2::la_variable_statique mais ca ne fonctionne pas :(


Message édité par nisalon_caje le 10-05-2008 à 18:51:38
mood
Publicité
Posté le 10-05-2008 à 18:46:03  profilanswer
 

n°1730534
Elmoricq
Modérateur
Posté le 10-05-2008 à 19:42:43  profilanswer
 

cl2::variable
 
À condition qu'elle soit publique. Sinon tu fais comme tout le monde, et t'écris un getter :o

n°1730537
nisalon_ca​je
Posté le 10-05-2008 à 19:52:18  profilanswer
 

il ne veut pas ;( il me met :
segment.cpp `dist_min' undeclared (first use this function)

n°1730538
nisalon_ca​je
Posté le 10-05-2008 à 19:58:49  profilanswer
 

... et un getter ne me motive pas trop car cela voudrait dire qu'il faudrait, à moins que je ne me trompe ce qui est fort probable, que je fasse un appel explicite à un objet de la classe cl2 non ???

n°1730541
Tarabiscot​e
Posté le 10-05-2008 à 20:12:26  profilanswer
 

Un getter ça peut être static aussi, sinon t'as bien fait un include de ton autre classe ?

n°1730543
Elmoricq
Modérateur
Posté le 10-05-2008 à 20:16:32  profilanswer
 

nisalon_caje a écrit :

il ne veut pas ;( il me met :
segment.cpp `dist_min' undeclared (first use this function)


 
Poste les morceaux de code qui montrent ce comportement.
 

nisalon_caje a écrit :

... et un getter ne me motive pas trop car cela voudrait dire qu'il faudrait, à moins que je ne me trompe ce qui est fort probable, que je fasse un appel explicite à un objet de la classe cl2 non ???


 
Pas si le getter est statique.

n°1730547
nisalon_ca​je
Posté le 10-05-2008 à 20:25:45  profilanswer
 

bon sang je viens de trouver :)
 
en fait j'avais deux fois un appel à cette variable dans ma ligne et je n'avais mis le cl2:: que pour une seule ^^

n°1730552
nisalon_ca​je
Posté le 10-05-2008 à 21:09:06  profilanswer
 

je vien de tester et le compilateur me met   [Linker error] undefined reference to `cl2::dist_min' :
 
le code est :

Code :
  1. void cl1::pts_entour(){
  2. // du code
  3. U=((pt[1]-G)*(1.0+cl2::dist_min/(lg/2.0))+nm*cl2::dist_min) + G;
  4. //du code
  5. }
  6. et dans ma classe cl2 j'ai
  7. class cl2 {
  8. // plein de choses
  9. public:
  10. static float dist_min;
  11. };
  12. et j'attribue une valeur à dist_min dans le constructeur :
  13. cl2(){
  14. dist_min=2.0;
  15. // plein d'autre choses
  16. }


 
 
voila merci d'avance ^^

n°1730563
jesus_chri​st
votre nouveau dieu
Posté le 10-05-2008 à 22:50:22  profilanswer
 

static float dist_min;
 
c'est une déclaration, il faut définir cette variable (on fait pas du java ici !)
 
mettre :
 
float cl2::dist_min;
 
dans un fichier .cpp (pas un .h !!)


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

  Passage de variables entre deux classes

 

Sujets relatifs
problème Signal/Slot avec classes imbriquées avec Qtclasses pour logiciel de téléchargement (Visual C++)
[C++] Variables globales non initialisées ?python pb passage arguments
Extraire des variables à partir d'une chaine de caractèreBinding entre un schéma XSD et un ensemble de classes C++
[PHP] Passage de pages en pagesComment faire un passage par valeur correct ?
[Résolu] Variables de Variables ...Probleme de LIMIT dans un $mysql_query (variables inside:D)
Plus de sujets relatifs à : Passage de variables entre deux classes


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