首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中单调对象构建

2013-02-24 
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();

 

 

热点排行