Bonjour,

j'ai une question concernant les methodes statiques. Imaginons que j'ai une classe definie de la manière suivante :

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
 
// Header : foo.h
class foo
{
public:
static void initialize (void);
 
private:
static bool      _initialized;
};
 
// implementation
 
/* static */ void foo::initialize(void)
{
 _initialized = true;
}
Maintenant dans une autre classe est ce que je peux faire ca (en tout cas c'est ce qui se passe dans du code que j'ai recupéré de quelq'un d'autre) :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
extern foo* fooInstance;
void startmodule()
{
    // Initialize foo
	foo::initialize();
 
    // Instanciate our foo
	fooInstance = new foo();
}
Ce que je ne comprends pas c'est le fait de pouvoir appeler foo::initialize() avant meme d'avoir instancier la classe.