l'utilisation d'extern n'est pas la bonne approche.
extern sert a dire au compilo "ceci est definit dans un autre module"
dans ton cas declare plutot uniqueInstance en static (comme tout singleton)
et utilise __declspec( dllexport ) pour partager ton singleton avec ton client.
fichier .h
Code:
1 2 3 4 5 6 7 8 9
| class __declspec( dllexport ) Derivee : public Base
{
public:
static Base* createInstance();
private:
static Derivee * uniqueInstance;
};
Derivee * Derivee::uniqueInstance = NULL; |
.cpp
Code:
1 2 3 4 5
| Base * Derivee::createInstance()
{
uniqueInstance = new Derivee();
return uniqueInstance;
} |