initialisation d'un membre static
Salut,
j'ai un problème avec un membre static d'un classe, je pense que je comprend pas exactement comment ça marche. voici mon code:
une classe A
Code:
1 2 3 4 5 6 7 8 9 10 11
| class Sprite_Manager{
public:
//constructeur par default
Sprite_Manager();
//destructeur
~Sprite_Manager();
}; |
une classe B qui a un membre static de A
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Drawable{
private:
//le sprite manager commun a tous les drawables
static Sprite_Manager sprite_manager;
public:
//constructeur par default
Drawable();
//destructeur
~Drawable();
}; |
et je met ça au debut de drawable.cpp
Code:
Sprite_Manager Drawable::sprite_manager = Sprite_Manager();
pourtant le code que j met dans le constructeur n'est pas exécuté, je n'est troué que des exemples avec des static int initialisés comme suit
Code:
int classA::entier = 0;
y'a t'il une erreur dans mon code? j'aimerai eviter d'utiliser une autre méthode du genre sprite_manager.init(); peut etre est-ce impossible?
merci d'avance