单实例模式的实现(singleton)----单件
2005-06-03 20:04
423 查看
.h文件
class CSingleInstance
{
public:
CSingleInstance();
virtual ~CSingleInstance();
static CSingleInstance* fInstance();
static CSingleInstance* PsingleInstance;
char buffer[2];
};
.CPP文件
#include <string.h>
#include "SingleInstance.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSingleInstance::CSingleInstance()
{
}
CSingleInstance::~CSingleInstance()
{
delete PsingleInstance;
}
CSingleInstance* CSingleInstance::fInstance()
{
if( PsingleInstance == 0 )
{
PsingleInstance = new (CSingleInstance);
}
return PsingleInstance;
}
CSingleInstance* CSingleInstance::PsingleInstance = 0;
主函数:
#include <iostream>
#include <string>
#include "SingleInstance.h"
using namespace std;
void main()
{
CSingleInstance* rSingleInstance1 = CSingleInstance::fInstance();
strcpy(rSingleInstance1->buffer,"wangliwei");
int k = sizeof(rSingleInstance1->buffer);
cout<<"the buffer is ";
for(int i = 0; i < k; i++)
{
if (rSingleInstance1->buffer[i] != NULL)
{
cout<<rSingleInstance1->buffer[i];
}
else
break;
}
cout<<endl;
CSingleInstance* rSingleInstance2 = rSingleInstance1->fInstance();
strcat(rSingleInstance2->buffer,"19801004");
int m = sizeof(rSingleInstance2->buffer);
cout<<"the buffer is ";
for(int j = 0; j < m; j++)
{
if (rSingleInstance2->buffer[j] != NULL)
{
cout<<rSingleInstance2->buffer[j];
}
else
break;
}
cout<<endl;
}
class CSingleInstance
{
public:
CSingleInstance();
virtual ~CSingleInstance();
static CSingleInstance* fInstance();
static CSingleInstance* PsingleInstance;
char buffer[2];
};
.CPP文件
#include <string.h>
#include "SingleInstance.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSingleInstance::CSingleInstance()
{
}
CSingleInstance::~CSingleInstance()
{
delete PsingleInstance;
}
CSingleInstance* CSingleInstance::fInstance()
{
if( PsingleInstance == 0 )
{
PsingleInstance = new (CSingleInstance);
}
return PsingleInstance;
}
CSingleInstance* CSingleInstance::PsingleInstance = 0;
主函数:
#include <iostream>
#include <string>
#include "SingleInstance.h"
using namespace std;
void main()
{
CSingleInstance* rSingleInstance1 = CSingleInstance::fInstance();
strcpy(rSingleInstance1->buffer,"wangliwei");
int k = sizeof(rSingleInstance1->buffer);
cout<<"the buffer is ";
for(int i = 0; i < k; i++)
{
if (rSingleInstance1->buffer[i] != NULL)
{
cout<<rSingleInstance1->buffer[i];
}
else
break;
}
cout<<endl;
CSingleInstance* rSingleInstance2 = rSingleInstance1->fInstance();
strcat(rSingleInstance2->buffer,"19801004");
int m = sizeof(rSingleInstance2->buffer);
cout<<"the buffer is ";
for(int j = 0; j < m; j++)
{
if (rSingleInstance2->buffer[j] != NULL)
{
cout<<rSingleInstance2->buffer[j];
}
else
break;
}
cout<<endl;
}
相关文章推荐
- 多线程安全的Singleton单件模式在C++,java与C#下的实现
- singleton 单件模式的实现
- 五种单件模式之Singleton的实现方法详解
- 【读书笔记】HeadFirst设计模式——单件不简单:详述实现Singleton模式需要考虑的方方面面
- Head First设计模式 C++实现-Singleton(单件模式)
- 本实例是用静态类实现singleton单例模式
- ISingletonDisplayer 单件模式显示器C#实现
- 【剑指offer】题2:实现单件(singleton)模式
- 基于私有化构造器与析构器的单件模式(singleton) 实现及注释
- php实现singleton()单例模式实例
- 四种方法实现单件(Singleton)模式
- 带注册功能的单件(Singleton)模式的C++实现
- Singleton(单件)模式的两种实现方法
- Head First设计模式C++实现--第五章:单件(Singleton)模式
- singleton 模式的cpp实现和实例
- php实现singleton()单例模式实例
- PHP 实现单件(singleton)模式
- 单件模式在C#中的实现--Implementing the Singleton Pattern in C#
- 单件模式-C++实现
- ios object-c 实现Singleton(单例)模式