爱运动,爱看书,爱生活!
分类: C/C++
2013-03-10 14:40:40
singleton的简单C++实现
#include
using namespace std;
class single
{
/*构造函数可以被重载,所以此处提供了两个构造函数,其中另一个
*可以通过接受一个single对象的引用来初始化对象,同时把构造函数
*写成私有 ,以便实现对象只能创建一个
*/
private:
single(){}//构造函数 1
single(const single& s){}//构造函数 2
static single s;//声明静态对象s
public:
static single& getInstance()
{
return s;
}
};
single single::s;//为s分配存储空间
int main()
{
single& s1=single::getInstance();
single& s2=single::getInstance();
if(&s1==&s2){
cout<<"两个对象地址相同,说明用此种模式创建的对象只能有一个,即单列模式实现。"<
}else{
cout<<"没能实现单列模式."<
}
}