//获取对象实例 函数的定义和实现以及对象指针的初始化和释放
.h
//全局单元
class A
{
public: static A* m_pA; //对象指针
//函数定义
public:
//构造函数
A();
//析构函数
virtual ~A();
//函数定义
public:
static A * GetInstances() { return m_pA;}
}
.cpp
//初始化对象指针
A * A::m_pA=NULL; //初始化对象指针
//构造函数
A::A()
{
//设置对象
ASSERT(m_pA==NULL);
if (m_pA==NULL) m_pA=this;
}
//析构函数
A::~A()
{
//释放对象
ASSERT(m_pA==this);
if (m_pA==this) m_pA=NULL;
}
//调用
A::GetInstances()->类的成员函数
.h
//全局单元
class A
{
public: static A* m_pA; //对象指针
//函数定义
public:
//构造函数
A();
//析构函数
virtual ~A();
//函数定义
public:
static A * GetInstances() { return m_pA;}
}
.cpp
//初始化对象指针
A * A::m_pA=NULL; //初始化对象指针
//构造函数
A::A()
{
//设置对象
ASSERT(m_pA==NULL);
if (m_pA==NULL) m_pA=this;
}
//析构函数
A::~A()
{
//释放对象
ASSERT(m_pA==this);
if (m_pA==this) m_pA=NULL;
}
//调用
A::GetInstances()->类的成员函数