Как создать экземпляр синглтона, который можно использовать в других классах?Использование Singleton в разных классах
Для примера:
//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(){};
};
я получаю связывающую ошибку при попытке включить единый заголовок класса для класса А (LNK2005): "частное: статический класс Singleton Singleton :: _ экземпляр"? (_instance @ Singleton @@ 0V1 @ A), уже определенный в Singleton Class.obj