WEB开发网
开发学院手机开发Symbian 开发 Symbian 的二阶段构造机制 阅读

Symbian 的二阶段构造机制

 2010-05-19 18:25:00 来源:WEB开发网   
核心提示:OS为了简化实例化的步骤,又引入了NewL(),NewLC()两个函数(其实也可以写成一个NewL(),然而大家都比较推崇同时创建 NewL()和NewLC()),Symbian 的二阶段构造机制(2),其具体的实现方式见问题3;问题3:如何在新的类中创建二阶段构造函数?.h头文件:Class CClassName :
OS为了简化实例化的步骤,又引入了NewL(),NewLC()两个函数(其实也可以写成一个NewL(),然而    大家都比较推崇同时创建 NewL()和NewLC()),其具体的实现方式见问题3;

问题3:如何在新的类中创建二阶段构造函数?

.h头文件:

Class CClassName : public CBase

{

public:

static CClassName* NewL();

static CClassName* NewlC();

~CClassName();

private:

CClassName(); //第一阶段构造

void ConstructL(); //第二阶段构造

……

}

cpp 源文件:

CClassName* CClassName::NewL()

{

CClassName* self = CClassName::NewLC();

CleanupStack::Pop(self);

return self;

}

CClassName* CClassName::NewLC()

{

CClassName* self = new (ELeave) CClassName();

CleanupStack::PushL(self);

self->ConstructL(); //二阶段构造

return self;

}

void CClassName::ConstructL()

{

/************** 可能产生异常的代码************/

}

上一页  1 2 

Tags:Symbian 阶段 构造

编辑录入:coldstar [复制链接] [打 印]
赞助商链接