读书人

C++中单调对象构建

发布时间: 2013-02-24 17:58:56 作者: rapoo

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++

热点推荐