CS106A 发表于 2012-12-10 13:03:38

单件模式

<div class="postcontent"><div id="cnblogs_post_body">    单件模式确保类只有唯一的一个实例对象,并提供全局访问。
    这一句对单件模式的描述,可以再细化一下分为两点:
    1、 唯一的一个实例对象。2、该对象全局访问性质。
    可以看出,使用全局变量可以实现第二点,即程序可以在任意时刻对该对象进行访问,但并不能保证该类型的对象只有一个(因为在程序中任意处可以new出新的该类对象)。
    为了避免程序使用new操作符创建出多余的对象,因此在实现时,应该将该类型的构造函数声明为protected,这样防止了该类型成员函数以外的代码对构造函数的调用。   
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifView Code <div id="cnblogs_code_open_eb8a5100-5d25-46c0-b33d-da482e145d6c" class="cnblogs_code_hide"> 1class Singleton 2 { 3 protected: 4     Singleton(){} 5 private: 6      static Singleton *_instance; 7 public: 8       static Singleton* GetInstance(){ 9            if (!_instance){                     //110               _instance = new Singleton();//211          }12             return _instance;13       }14 };
页: [1]
查看完整版本: 单件模式