je suis débutant en C++.
j'aimerais savoir comment déclarer une variable pour la rendre accessible par toutes les classes.
Merci.
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 : Sélectionner tout - Visualiser dans une fenêtre à part #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 :
dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part int globale;
.cpp puis la déclarer ainsi partout où on veut l'utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part un
Code : Sélectionner tout - Visualiser dans une fenêtre à part extern int globale;Tu veux dire un membre statique publique ?Envoyé par khaled69100
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Partager