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 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 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
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
3 août 2005 à 20:49
très juste, enfin selon les besoins..

___________________________________________________________
Magicalement
Nono
0
Rejoignez-nous