C++中单件设计模式(Singleton pattern)的语法实现

当我们需要只有一个类的实例返回给调用程序时,就可以使用单件设计模式(Singletom pattern).这种类的声明如下:

class TheOnlyInstance

{

public:

        static TheOnlyInstance * GetTheOnlyInstance();

protected:

        TheOnlyInstance(){}

private:

        //

} ;

 

//只能通过公有静态方法来访问

TheOnlyInstance* TheOnlyInstance::GetTheOnlyInstance()

{

        static TheOnlyInstance objTheOnlyInstance;

        return &objTheOnlyInstance;

}

 

//错误的用法

int main()

{

        TheOnlyInstance noCanDo; //因为构造函是数保护成员,所以这种声明是错误的。

}

 

//说明

GetTheOnlyInstance方法仅在第一次被调用时,创建TheOnlyInstance类的一个实例。以这种方式构造的静态对象一直有效,直到程序终止,此时这种静态对象将自动释放。要检索指向这个类的唯一实例的指针,只需要调用静态方法GetTheOnlyInstance。

TheOnlyInstance * pTheOnlyInstance = TheOnlyInstance::GetTheOnlyInstance();

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值