C++中Singleton的实现
来源:互联网 发布:java 类库查询 编辑:程序博客网 时间:2024/05/11 20:52
C++中Singleton的实现
这些东西在网上都很多了,但是我觉得他们的使用都不符合我的要求,所以自己动手丰衣足食,写一个自己能用的,够用就好。
这些东西在网上都很多了,但是我觉得他们的使用都不符合我的要求,所以自己动手丰衣足食,写一个自己能用的,够用就好。
#include <iostream>
using namespace std;
//单件模板类
template<typename T> class Singleton
{
protected:
static T* m_Instance;
Singleton(){}
virtual~Singleton(){}
public:
//实例的获得
static T* Instance()
{
if(m_Instance==0)
m_Instance=new T;
return m_Instance;
}
//单件类的释放
virtual void Release()
{
if(m_Instance!=0)
{
delete m_Instance;
m_Instance=0;
}
}
};
//单件模板测试类
class Test:public Singleton<Test>
{
friend class Singleton<Test>; //声明为友员,不然会出错
protected:
Test()
{
a=b=c=0;
}
virtual ~Test(){}
public :
int a;
int b;
int c;
};
//初始化静态成员。。。
template<> Test*Singleton<Test>::m_Instance=0;
//以下为测试代码
void main()
{
Test*t=Test::Instance();
t->a=5;
t->b=25;
t->c=35;
cout<<"t: a="<<t->a<<" b="<<t->b<<" c="<<t->c<<endl;
Test*t2;
t2=Test::Instance();
cout<<"t2 a="<<t2->a<<" b="<<t2->b<<" c="<<t2->c<<endl;
t2->Release();
}
- Objective-C 中singleton(单例模式)的实现
- Objective-C 中singleton(单例模式)的实现
- C++中Singleton的实现
- Symbian中singleton的实现
- boost中singleton的实现
- boost中singleton的实现
- c++--Singleton单例模式的实现
- 【C++】实现Singleton模式
- Symbian中singleton的实现(多线程)
- Symbian中singleton的实现(多线程)
- Symbian中singleton的实现(多线程)
- Symbian中singleton的实现(多线程)
- javascript中Singleton设计模式的实现
- C++中实现Singleton的正确方法
- C++中实现Singleton的正确方法
- C++中实现Singleton的正确方法
- javascript中Singleton设计模式的实现
- C++中实现Singleton的正确方法
- Java进阶:JNI使用技巧点滴
- 图形基础
- 纽约时报:历史上的今日11月
- 财务管理程序笔记NO.3
- java异常处理
- C++中Singleton的实现
- 关于水面下物体的浸染
- JAIN SLEE 1.0 Specification 阅读笔记(一)
- 如何使用Jmail组件发送邮件
- J2ME游戏开发学习之高效&漂亮显示积分
- Windows Sockets
- 网络通信时整型数据与字节之间的转换
- 雨霖霖
- google搜索原理论文