Bonjour,
Pour commencer, la FAQ:
Comment initialiser un membre static ?
http://cpp.developpez.com/faq/cpp/?p...SS_init_static
On voit ci-dessus comment utiliser un membre static. Personnellement je veux faire pareil, un compteur qui s'incremente dans le constructeur.
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 // dans le fichier Exemple.h #ifndef EXEMPLE_H #define EXEMPLE_H class Exemple { public: static int compteur; }; #endif // dans le fichier Exemple.cpp #include "Exemple.h" int Exemple::compteur = 0;
Seulement, moi ma classe est herite, et je souhaiterai avoir une variable par classe.
Exemple:
Dans le main
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
21
22
23 class Exemple { Exemple() { compteur++; } public: static int compteur; }; class maC1 : public Exemple { maC1() { cout << "maC1 compteur vaut" << compteur; } } class maC2 : public Exemple { maC2() { cout << "maC2 compteur vaut" << compteur; } }
En sortie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 maC1 a; maC1 b; maC2 c;
On voit que les classes maC1 et maC2 partage le meme compteur(herite de exemple).maC1 compteur vaut1
maC1 compteur vaut2
maC2 compteur vaut3
Moi je voudrai:
A part en redefinnissant ma variable a chaque fois je vois pas comment faire!maC1 compteur vaut1
maC1 compteur vaut2
maC2 compteur vaut1
Une idée?
Merci








Répondre avec citation




). Parce que c'est exactement le meme principe que les fonctions mais avec une variable que je veux faire.







Partager