C++中单一对象构建
在C++使用类函数时,常常会在不同类的多个函数中不断的使用某一类的某些函数,则往往需要不断的创建该类的对象。
为了避免这种重复创建的过程,以下介绍两种方法来构建单一对象或单一实例。
方法一:
Class CAClass
{
....
void DoSth();
friend CAClass& GetCA();
};
CAClass& GetCA()
{
static CAClass ca;
return ca;
}
void CAClass::DoSth()
{
......
}
使用方法
GetCA().DoSth();
方法二:(设计模式单一实例法)
Class CAClass
{
protect:
CAClass(){}
Public:
static CAClass* Instance();
static CAClass* Extance();
private:
static CAClass* _ins;
pubic:
....
void DoSth();
};
CAClass* CAClass::_ins = 0;
CAClass* CAClass::Instance()
{
if(_ins == 0)
_ins = new CAClass();
return CAClass;
}
CAClass* CAClass::Extance()
{
if(_ins !=0)
delete _ins;
}
使用方法
CAClass* caTemp = CAClass::Instance();
caTemp->DoSth();
补充:软件开发 , C++ ,