<b>计划情势的解析和实现(C++)之五-Singleton情势</b>[VC/C++编程]
本文“<b>计划情势的解析和实现(C++)之五-Singleton情势</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作用:保证一个类唯一一个实例,并供应一个拜候它的全局拜候点.
UML构造图:
解析:
Singleton情势其实是对全局静态变量的一个代替战略,上面提到的Singleton情势的两个作用在C++中是通过以下的机制实现的:1)唯一一个实例,供应一个类的静态成员变量,大家知道类的静态成员变量关于一个类的全部对象而言是惟一的 2)供应一个拜候它的全局拜候点,也就是供应对应的拜候这个静态成员变量的静态成员函数,对类的全部对象而言也是惟一的.在C++中,可以直接利用类域举行拜候而没必要初始化一个类的对象.
下面的实现其实是Singleton的一个简单实现,并非分外的通用,普通的,假如一个项目中需求利用到Singleton情势对比多的话,那么普通会实现一个Singleton的模板类,模板类的模板参数是需求采取Singleton情势的类,比方这样实现:
template<typename T>
class Singleton
{
//.类的声明
};
// 需求采取singleton情势的类
class Test
: public Singleton<Test>
{
// 类的声明
};
但是,下面的实现还是采取最简单的实现办法,起的是演示的作用
实现:
1)Singleton.h
/**//********************************************************************
created: 2006/07/20
filename: Singleton.h
author: 李创
http://www.cppblog.com/converse/
purpose: Singleton情势的演示代码
*********************************************************************/
#ifndef SINGLETON_H
#define SINGLETON_H
class Singleton
{
public:
Singleton(){};
~Singleton(){};
// 静态成员函数,供应全局拜候的接口
static Singleton* GetInstancePtr();
static Singleton GetInstance();
void Test();
private:
// 静态成员变量,供应全局惟一的一个实例
static Singleton* m_pStatic;
};
#endif
以上是“<b>计划情势的解析和实现(C++)之五-Singleton情势</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |