.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;
}