Variable private et static dans une classe [Résolu]

Signaler
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Salut !



Voilà, j'aimerais savoir comment fait-on pour utiliser une variable
statique dans une classe, et que cette variable soit dans le bloc
private de la classe.

Exemple :

class CClasse

{

private:

static int* pointeur;

...

};



J'ai essayé de faire ça, mais dès que j'utilise cette variable, le linker me dit que la variable n'est pas trouvée.

Est-ce que qq'1 peut m'expliquer ?

Merci d'avance.



PS : j'utilise DevC++ 4.9.9.2

3 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Je crois que faut que tu l'initialises avec:



int* CClasse::pointeur = 0;



en dehors de la classe bien sur.
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006

C'est bien ça, merci luhtor !



Petite précision cependant :

il faut que l'initialisation soit faite dans un fichier .cpp (de
préférence celui qui définit les fonctions de la classe) sinon le
linker trouvera plusieurs définitions de cette variable.
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Si la variable est défini private tu ne peux y acceder en dehors de la class.
Les variables declarées private sont interne a la classe.
Pour les appellers depuis les fonctions membres de ta classe, tu as juste a paser leur nom : pointeur = null;

Pour que tes variables soit accessibles depuis les objet, elles doivent etre declarées en public et non en private.

Shell