:salut:
je suis débutant en C++.
j'aimerais savoir comment déclarer une variable pour la rendre accessible par toutes les classes.
Merci.
Version imprimable
:salut:
je suis débutant en C++.
j'aimerais savoir comment déclarer une variable pour la rendre accessible par toutes les classes.
Merci.
tu la mets en public dans la classe loool
c'est pas ça.une variable qui est accessible sans appeler le constructeur ou déclarer la classe qui la contient.
tu fais un fichier var_globales.hpp dans lequel tu déclare tes variables avec les valeurs associées
et tu fais undans tous tes sources et là ta variable sera vue de toutes tes classes.Code:#include var_globales.hpp
Sur ceux bon weekend a tous!
le problème c'est que cette variable est remplie dans cette classe
C'est pas vraiment commae ça. Normalement, on met :
dansCode:int globale;
.cpp puis la déclarer ainsi partout où on veut l'utiliser :Code:un
Code:extern int globale;
Tu veux dire un membre statique publique ?Citation:
Envoyé par khaled69100
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <iostream> using namespace std; class Test { public: static int n; }; int main() { Test::n = 100; cout "Test::n = "<< Test::n << endl; Test test; test.n = 200; cout << "test.n = " << test.n << end; return 0; }
Salut,
Généralement, on ne le répètera jamais assez, les variables globales, c'est mal.
L'idéal est donc toujours de placer les variables dans une classe, quitte créer une variable de classe plutôt qu'une variable d'instance.
Selon le cas, on peut considérer le fait de rendre cette variable publique, ou privée, en n'oubliant sans doute pas alors de créer les accesseurs/mutateurs si leur présence s'avère nécessaires, qui seront eux aussi des méthodes de classe plutôt que des méthodes d'instance.
La différence entre un membre ou une méthode de classe et un membre ou une méthode d'instance réside dans le fait que le membre ou la méthode de classe ne dépend d'aucune instance de cette classe, ce qui le (la) rend de facto "global(e)".
Pour créer un membre ou une méthode de classe, il suffit de la déclarer statique, et de suivre les règles qui s'applique à ce spécificateur de classe de stockage (cf la page de la FAQ qui traite des membres et méthodes statiques)
Merci pour votre aide:yaisse2: