• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            C++分析研究  
            C++
            日歷
            <2013年4月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011
            統(tǒng)計(jì)
            • 隨筆 - 92
            • 文章 - 4
            • 評(píng)論 - 4
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             

              單件模式是一種用于確保整個(gè)應(yīng)用程序中只有一個(gè)類實(shí)例且這個(gè)實(shí)例所占資源在整個(gè)應(yīng)用程序中是共享時(shí)的程序設(shè)計(jì)方法(根據(jù)實(shí)際情況,可能需要幾個(gè)類實(shí)例)。在某些情況下,這種程序設(shè)計(jì)方法是很有用處的 www.lefeng123.com
              Singleton模式的實(shí)現(xiàn)基于兩個(gè)要點(diǎn):
              1)不直接用類的構(gòu)造函數(shù),而另外提供一個(gè)Public的靜態(tài)方法來構(gòu)造類的實(shí)例。通常這個(gè)方法取名為Instance.Public保證了它的全局可見性,靜態(tài)方法保證了不會(huì)創(chuàng)建出多余的實(shí)例。
              2)將類的構(gòu)造函數(shù)設(shè)為Private,即將構(gòu)造函數(shù)"隱藏"起來,任何企圖使用構(gòu)造函數(shù)創(chuàng)建實(shí)例的方法都將報(bào)錯(cuò)。這樣就阻止了開發(fā)人員繞過上面的Instance方法直接創(chuàng)建類的實(shí)例。
              #include <iostream>
              #include <cassert>
              using namespace std;
              template<typename T>
              class Singleton
              {
              public:
              static T *getInstancePtr()
              {
              if (m_Instance == NULL) {
              m_Instance = new T;
              }
              return m_Instance;
              }
              static T& getInstance()
              {
              assert(m_Instance);
              return (*m_Instance);
              }
              private:
              Singleton(){};
              static T *m_Instance;
              };
              template<typename T> T * Singleton<T>::m_Instance = NULL;
              class A
              {
              public:
              void display(){cout《"A is display"《endl;}
              };
              int main()
              {
              /*Singleton<int>::getInstancePtr();
              cout《Singleton<int>::getInstance()《endl;
              Singleton<int>::getInstance()=5;
              cout《Singleton<int>::getInstance()《endl;*/
              A* p=Singleton<A>::getInstancePtr();
              p->display();
              return 0;
              }

            posted on 2014-03-21 21:31 HAOSOLA 閱讀(214) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎(jiǎng) PK10開獎(jiǎng)
            伊人久久无码中文字幕| 99999久久久久久亚洲| 国产99久久精品一区二区| 久久久老熟女一区二区三区| 狠色狠色狠狠色综合久久 | 久久精品国产99久久久古代| 精品无码久久久久久尤物| 久久影视国产亚洲| 亚洲精品国产字幕久久不卡| 久久久久99精品成人片三人毛片 | 91精品观看91久久久久久| 丁香色欲久久久久久综合网| 99久久精品国产高清一区二区| 久久AAAA片一区二区| 99久久精品免费看国产一区二区三区| 91久久精品国产成人久久| 亚洲精品乱码久久久久66| 久久久受www免费人成| 久久人人爽人人爽人人AV东京热| 伊人久久大香线蕉无码麻豆| 女人香蕉久久**毛片精品| 久久青青草原精品影院| 欧美日韩久久中文字幕| 欧美精品乱码99久久蜜桃| 日韩精品国产自在久久现线拍| 久久国语露脸国产精品电影| 亚洲国产精品无码久久久久久曰| 久久免费小视频| 99国产精品久久| av国内精品久久久久影院| 久久人人爽人人爽人人片av高请| 久久婷婷色综合一区二区 | 麻豆AV一区二区三区久久| 久久国产AVJUST麻豆| 久久伊人中文无码| 亚洲精品视频久久久| 国产精品va久久久久久久| 武侠古典久久婷婷狼人伊人| 国内精品久久国产| 久久夜色精品国产亚洲| 97精品依人久久久大香线蕉97 |