当前位置:编程学习 > C/C++ >>

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++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,