Comment créer une instance d'un singleton pouvant être utilisée dans d'autres classes?Utilisation de Singleton dans différentes classes
Par exemple:
//Singleton_Class.h
#ifndef Singleton_Class
#define Singleton_Class
class Singleton
{
private:
static Singleton _instance;
Singleton() {}
~Singleton() {}
Singleton(const Singleton &);
Singleton & operator=(const Singleton &);
public:
static Singleton &getInstance(){return _instance;}
};
Singleton Singleton::_instance;
#endif
//Main.cpp
#include "Singleton_Class.h"
int main()
{
Singleton &s = Singleton::getInstance(); //Use the instance
}
//ClassA.cpp
#include "Singleton_Class.h"
class A
{
public:
A(){};
};
J'obtiens une erreur reliant en essayant d'inclure l'en-tête de classe unique pour la classe A (LNK2005): "private: class statique Singleton Singleton :: _ instance"? (_instance @ Singleton @@ 0V1 @ A) déjà défini dans Singleton Class.obj