/*************************************************************************
> File Name: singleton.cpp
> Author: XXDK
> Email: v.manstein@qq.com
> Created Time: Wed 05 Sep 2018 07:13:20 PM CST
************************************************************************/
#include<iostream>
using namespace std;
class Object
{
public:
static Object* obj;
static Object* GetInstance() {
if(obj)
;
else
obj = new Object();
return obj;
}
void func() {
std::cout << "this: " << this << std::endl;
std::cout<< __func__<< std::endl;
}
virtual ~Object(){std::cout<< __func__<< std::endl;}
private:
Object(){std::cout<< __func__<< std::endl;}
};
Object* Object::obj = NULL;
int main()
{
Object* po1 = Object::GetInstance();
po1->func();
Object* po2 = Object::GetInstance();
po2->func();
delete po2;
po1 = NULL;
po2 = NULL;
return 0;
}
设计模式之:单例模式(singleton)
最新推荐文章于 2023-03-13 16:51:52 发布