/*------------------------------------------------------------------------------
描述:实现singleton模式(singleton模式就是一个类只有一个对象,通过静态变量实现)
-------------------------------------------------------------------------------*/
#include<iostream>
using namespace std;
/*实现 singleton 模式*/
class singleton{
private:
static singleton *instance;
int i;
singleton(){cout<<"singleton example"<<endl;}
public:
static singleton *getsingleton()
{
if (instance == NULL)
{
instance = new singleton();
}
return instance;
}
void seti(int i)
{
this->i = i;
}
int geti()
{
return this->i;
}
};
class myclass{
public:
myclass()
{
cout<<"construct myclass ..."<<endl;
}
};
singleton * singleton::instance = NULL;
int main()
{
myclass a[4],*p[5];
int b = 4;
cout<<sizeof(a)/sizeof(myclass)<<endl;
cout<<sizeof(myclass)<<endl;
cout<<sizeof(p)<<endl;
cout<<sizeof(*p)<<endl;
cout<<sizeof(**p)<<endl;
cout<<((++b)+=b)<<endl;
singleton *e = singleton::getsingleton();
singleton *f = singleton::getsingleton();
e->seti(20);
cout<<e->geti()<<endl;
cout<<f->geti()<<endl;
return 0;
}
实现singleton模式(设计模式的一种)
最新推荐文章于 2024-02-20 16:25:35 发布