二阶构造

来源:互联网 发布:数据服务 编辑:程序博客网 时间:2024/05/20 13:20

避免半成品对象:初始化操作不能按预期完成而得到对象

工程开发中的构造过程可分为
- 资源无关的初始化操作
- 使用系统资源的操作(内存申请,访问文件)

class TwoPhaseCons{    private:        TwoPhaseCons()        {            //第一阶段构造        }        bool Construct()        {            bool ret =true;            //第二阶段构造            return ret;        }public:    static TwoPhaseCons* NewInstance();}TwoPhaseCons* TwoPhaseCons::NewInstance(){    TwoPhaseCons* ret = new TwoPhaseCons();    if(!(ret && ret->Construct()))    {        delete ret;        ret = NULL;    }    return ret;}
原创粉丝点击