C++设计模式之五:SINGLETON(单件模式)
2012-05-28 16:41
393 查看
一、意图:
保证一个类仅有一个实例,并提供一个全局的访问点。
二、类图:
![](http://my.csdn.net/uploads/201205/28/1338194601_2772.jpg)
三、组成元素:
Singleton:需要提供唯一实例;构造函数要为private;
四、代码实现:
#include "iostream"
using namespace std;
class Singleton
{
private:
static Singleton* uniqueInstance;
private:
Singleton()
{
}
public:
static Singleton* GetInstance()
{
if (uniqueInstance==NULL)
{
uniqueInstance=new Singleton();
return uniqueInstance;
}
else
return uniqueInstance;
}
void sayHello()
{
cout<<"Singleton Created"<<endl;
}
};
Singleton* Singleton::uniqueInstance=NULL; //初始化
void main()
{
Singleton* singleton=Singleton::GetInstance();
singleton->sayHello();
}
保证一个类仅有一个实例,并提供一个全局的访问点。
二、类图:
![](http://my.csdn.net/uploads/201205/28/1338194601_2772.jpg)
三、组成元素:
Singleton:需要提供唯一实例;构造函数要为private;
四、代码实现:
#include "iostream"
using namespace std;
class Singleton
{
private:
static Singleton* uniqueInstance;
private:
Singleton()
{
}
public:
static Singleton* GetInstance()
{
if (uniqueInstance==NULL)
{
uniqueInstance=new Singleton();
return uniqueInstance;
}
else
return uniqueInstance;
}
void sayHello()
{
cout<<"Singleton Created"<<endl;
}
};
Singleton* Singleton::uniqueInstance=NULL; //初始化
void main()
{
Singleton* singleton=Singleton::GetInstance();
singleton->sayHello();
}
相关文章推荐
- C++设计模式之Singleton(单件/单例)模式
- 设计模式(五):创建型模式—Singleton(单件)
- 设计模式C++学习笔记之三(Singleton单例模式)
- 设计模式---单件(C++版) 一个简单实例(避免用户忘记delete单件实例)
- 设计模式C++实现_1_Singleton设计模式(简单的实现)
- 使用C++实现设计模式(连载): 第一回 Singleton 单例模式
- singleton设计模式,c++实现
- C++设计模式之Singleton
- 设计模式--创建型-SINGLETON(单件)
- 设计模式(1)-创建型-单件(Singleton)模式 (个人笔记)
- 设计模式---单件(C++版) 希望大家顶一下
- 学习笔记:关注C++设计模式之Singleton模式
- 设计模式之单例模式(singleton)C++
- 设计模式之美:Singleton(单件)
- 设计模式C++描述----01.单例(Singleton)模式
- c++设计模式:单件模式(Singleton Pattern)
- c++设计模式:单件模式(Singleton Pattern)
- [设计模式] C++设计模式-单件 Good!!!
- android设计模式--之单件模式(singleton)
- c++设计模式--单件模式