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

cs_maju
Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005
- 3 août 2005 à 11:10
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!!!!

6 réponses

nicooooo1
Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012

3 août 2005 à 11:20
euhh......je pense qu il faut un peu plus de details...
0
BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
3 août 2005 à 11:30
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...
0
xterminhate
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009

3 août 2005 à 11:40
#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
}
0
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
3 août 2005 à 14:32
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xterminhate
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009

3 août 2005 à 19:47
Non pas const &, & seulement. L'état de la varaible doit pouvoir changer...
0
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
3 août 2005 à 20:49
très juste, enfin selon les besoins..

___________________________________________________________
Magicalement
Nono
0