1.h
#include <stdio.h>
#include <windows.h>
#include <assert.h>
class CGlobalUnits
{
public:
//构造函数
CGlobalUnits();
//析构函数
~CGlobalUnits();
//辅助函数
public:
bool print(void);
//静态函数
public:
static CGlobalUnits* GetInstance(){return m_pGlobalUnits;}
//静态变量
protected:
static CGlobalUnits * m_pGlobalUnits; //全局单元
};
extern CGlobalUnits g_GlobalUnits; //全局单元
1.cpp
#include "1.h"
//静态区
CGlobalUnits * CGlobalUnits::m_pGlobalUnits=NULL;
//全局区
CGlobalUnits g_GlobalUnits;
//构造函数
CGlobalUnits::CGlobalUnits()
{
assert(m_pGlobalUnits==NULL);
if (m_pGlobalUnits==NULL)m_pGlobalUnits=this;
OutputDebugString(TEXT("CGlobalUnits构造函数执行"));
return;
}
//析构函数
CGlobalUnits::~CGlobalUnits()
{
OutputDebugString(TEXT("CGlobalUnits析构函数执行"));
}
//辅助函数
bool CGlobalUnits::print( void )
{
OutputDebugString(TEXT("测试一下"));
return true;
}
main.cpp
#include "1.h"
int main (void)
{
CGlobalUnits *pGlobalUnits=CGlobalUnits::GetInstance();
pGlobalUnits->print();
return 0;
}