[code]template<class T>
class CSingletone
{
private:
CSingletone();
public:
static CSingletone<T>* m_singleInstance;
static CSingletone<T>& Instance();
public:
virtual ~CSingletone();
};
template<class T> T* CSingletone<T>::m_singleInstance = NULL;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
template<class T>
CSingletone<T>::CSingletone()
{
}
template<class T>
CSingletone<T>::~CSingletone()
{
}
template<class T>
CSingletone<T>& CSingletone<T>::Instance()
{
if (NULL == CSingletone<T>::m_singleInstance)
{
CSingletone<T>::m_singleInstance = new T();
}
return *CSingletone<T>::m_singleInstance;
}
[/code]
class CSingletone
{
private:
CSingletone();
public:
static CSingletone<T>* m_singleInstance;
static CSingletone<T>& Instance();
public:
virtual ~CSingletone();
};
template<class T> T* CSingletone<T>::m_singleInstance = NULL;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
template<class T>
CSingletone<T>::CSingletone()
{
}
template<class T>
CSingletone<T>::~CSingletone()
{
}
template<class T>
CSingletone<T>& CSingletone<T>::Instance()
{
if (NULL == CSingletone<T>::m_singleInstance)
{
CSingletone<T>::m_singleInstance = new T();
}
return *CSingletone<T>::m_singleInstance;
}
[/code]
'Native > C++' 카테고리의 다른 글
EventQueue (0) | 2013.10.02 |
---|---|
DLOPEN (0) | 2013.10.02 |
virtual int memberFunc() = 0; 에서 = 0 에 의미 (0) | 2013.10.02 |
멀티바이트를 유니코드 문자열로 혹은 역으로 변환하는 함수 (0) | 2013.10.02 |
L 리터럴과 유니코드 인코딩 (#pragma setlocale( (0) | 2013.10.02 |