#include <iostream>
using namespace std;
class Single2
{
public :
static Single2* GetInstance()
{
if (NULL==m_single)
{
m_single=new Single2;
}
return m_single;
}
private:
static Single2 *m_single;
void main()
{
Single2* m1;
Single2* m2;
m1=Single2::GetInstance();
m2=Single2::GetInstance();
cout<<(m1==m2)<<endl;
}
using namespace std;
class Single2
{
public :
static Single2* GetInstance()
{
if (NULL==m_single)
{
m_single=new Single2;
}
return m_single;
}
private:
static Single2 *m_single;
};
//这一句非常重要,不然的话
//1>1.obj : error LNK2001: 无法解析的外部符号 "private: static class Single2 * Single2::m_single" (?m_single@Single2@@0PAV1@A)
//1>D:\codetest\fileTest\Debug\test.exe : fatal error LNK1120: 1 个无法解析的外部命令
void main()
{
Single2* m1;
Single2* m2;
m1=Single2::GetInstance();
m2=Single2::GetInstance();
cout<<(m1==m2)<<endl;
}