Definir une variable dans differentes classes. [VC++]

Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005
- - Dernière réponse : magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
- 3 août 2005 à 20:49
Question plus que basic, je l avoue, mais helas, ca me pose
probleme, je voudrais qu une variable soit reconnue dans differentes
classes et je ne sais pas ou la definir.



Merci!!!!
Afficher la suite 

6 réponses

Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012
0
Merci
euhh......je pense qu il faut un peu plus de details...
Commenter la réponse de nicooooo1
Messages postés
14594
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 septembre 2019
89
0
Merci
Deux solutions possibles:
- tu la déclare "extern". Cherche sur le site plus plus d'info, je ne suis pas familiarisé avec ça.
- tu la déclare dans une classe en static:
class CTruc
{
static int compteur;
...
}

et tu y accèdes ainsi: CTruc::compteur
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009
0
Merci
#include
using namespace std;

struct A
{
A( int & i) : lien_vers_i( i ) {}
int affiche() const { return lien_vers_i; }
private:
int & lien_vers_i;
};

struct B
{
B( int & i) : lien_vers_i( i ) {}
int affiche() const { return lien_vers_i; }
private:
int & lien_vers_i;
};

int main()
{
int i = 0; // variable partagée par les instances de A et B ci dessous.
A a(i);
B b(i);
// test #1
cout << a.affiche() << endl; // affiche 0
cout << b.affiche() << endl; // affiche 0

// test #2
i = 1;
cout << a.affiche() << endl; // affiche 1
cout << b.affiche() << endl; // affiche 1
}
Commenter la réponse de xterminhate
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
et une variable globale une !



une premier soluce consiste à utiliser l'astuce du extern,

une deuxieme a tout avoir dans un source

et la derniere, la plus propre,

a transmettre la variable ou on en a besoin

avec le spécifieur const &

___________________________________________________________
Magicalement
Nono
Commenter la réponse de magic_Nono
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009
0
Merci
Non pas const &, & seulement. L'état de la varaible doit pouvoir changer...
Commenter la réponse de xterminhate
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
très juste, enfin selon les besoins..

___________________________________________________________
Magicalement
Nono
Commenter la réponse de magic_Nono