创建只有一个实例的类

来源:互联网 发布:淘宝悬浮导航在线制作 编辑:程序博客网 时间:2024/05/08 05:38
class Single_Instance{

public:
 Single_Instance * Get_Instance();
private:
 Single_Instance * pCur_Instance;
 int data;
 Single_Instance();
 Single_Instance(Single_Instance & copy);
 ~Single_Instance(); 
};

Single_Instance::Single_Instance()
{
 cout<<"new single!"<<endl;
}

Single_Instance::Single_Instance(Single_Instance & copy)
{
 cout<<"new single by copy!"<<endl;
}

Single_Instance::~Single_Instance()
{
 cout<<"destroy single!"<<endl;
}

Single_Instance * Single_Instance::Get_Instance()
{
 if(pCur_Instance==NULL)
  pCur_Instance = new Single_Instance;
 return pCur_Instance;
}

}