singleton单例模式

来源:互联网 发布:caffe 添加数据层 编辑:程序博客网 时间:2024/05/17 07:05

singleton单例模式:一个类在运行的过程中始终只能存在一个实例。

.hpp文件内容如下:


#ifndef __singleh#define __singlehclass Singleton{   public :     static Singleton * Instance();//创建/获取唯一实例的方法     void Destroy();     int a;   private:     static Singleton * _Instance;//唯一实例的指针     Singleton(){};//构造函数     Singleton(const Singleton&);//拷贝构造函数,防止产生新实例     Singleton & operator = (const & Singleton); //赋值,防止产生实例};Singleton * Singleton::_Instance = NULL;Singleton * Singleton::Instance(){   (_Instance == NULL)? _Instance = new Singleton():_Instance = 0;   return _Instance; }void Singleton :: Destroy(){    delete _Instance;    _Instance = NULL;}#endif
.cpp中调用如下:

void __fastcall TForm1::Button10Click(TObject *Sender){   Singleton * ton = Singleton::Instance();   if(ton)   {       ShowMessage("创建成功!");       ton->a = 100;    }    Singleton * ton1 = Singleton::Instance();//产生的是同一个类    ShowMessage(ton1->a);    ton->Destroy();}


0 0
原创粉丝点击