青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Mike's blog

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  0 Posts :: 23 Stories :: 83 Comments :: 0 Trackbacks

常用鏈接

留言簿(17)

我參與的團隊

搜索

  •  

最新評論

所謂的單件類就是保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。 

Singleton可以看作是一種經過改進的全局變量,既在一個進程中只能有唯一的實例,不允許產生第二個這樣的對象。
雖然單件類是最簡單的設計模式,但仍需小心使用,主要需注意:
1.構造函數
既然是只能有一個實例,那么構造函數自然不能被外部隨意調用,所以需要將其聲明為私有(private),包括默認構造、拷貝構造及賦值操作。至于是否需要實現要看具體應用。實例的產生需要一個輔助的成員函數(類似getInstance或creatInstance)。
2.析構函數
需要定義全局唯一的變量,我們首先會想到的就是靜態(static),沒錯,單件類也是通過靜態成員指針變量來實現單一。我們往往習慣于在析構函數中對成員指針進行內存釋放,但在單件類中是不可以這樣操作的,因為delete會調用類的析構,所以在自己的析構中delete自己的對象就會造成遞歸析構(無窮盡的析構現象)。
UML類圖:

實現代碼:
1)Singleton.hpp
 1/********************************************************************
 2* Copyright (c) 2010~2010 All Rights Resverved by wei.chen.
 3********************************************************************/

 4/*
 5 * @file Singleton.hpp
 6 * @brief  Declare the class of Singleton.
 7 * @version 0.1
 8 * @since 0.1
 9 * @author chenwei<76487974@qq.com> 
10 * @date 2010-7-19 Created it
11 */

12
13#ifndef _SINGLETON_HPP
14#define _SINGLETON_HPP
15
16#include <iostream>
17
18class Singleton
19{
20public:
21    ~Singleton() {
22        std::cout << "Singleton destructor." << std::endl;
23    }

24
25    static Singleton* creatInstance();
26    static void destroyInstance();
27    void test() {
28        std::cout << "Singleton test." << std::endl;
29    }

30
31private:
32    static Singleton* m_pInstance;
33
34    Singleton() {
35        std::cout << "Singleton constructor." << std::endl;
36    }

37
38    Singleton(Singleton&);
39    Singleton& operator=(Singleton&);
40}
;
41
42#endif
43
44

2)Singleton.cpp
 1/********************************************************************
 2* Copyright (c) 2010~2010 All Rights Resverved by wei.chen.
 3********************************************************************/

 4/*
 5 * @file Singleton.cpp
 6 * @brief  Implement the methods of the class Singleton.
 7 * @version 0.1
 8 * @since 0.1
 9 * @author chenwei<76487974@qq.com> 
10 * @date 2010-7-19    Created it
11 */

12
13#include "Singleton.hpp"
14#include <stdlib.h>
15
16Singleton* Singleton::m_pInstance = NULL;
17
18/**
19 * @fn creatInstance 
20 * @brief Create a Singleton instance.
21 * @return A pointer to Singleton Instance, or NULL if failed. 
22 * @author wei.chen (2010-7-19)
23 */

24Singleton* Singleton::creatInstance()
25{
26    std::cout << "Create the instance." << std::endl;
27    if (!m_pInstance) {
28        m_pInstance = new Singleton();
29        if (!m_pInstance) {
30            std::cout << "No memory to new for Singleton." << std::endl;
31            abort();
32        }

33    }

34
35    return m_pInstance;
36}

37
38/**
39 * @fn destroyInstance 
40 * @brief Release the memory for destroying the instance.
41 * @author wei.chen (2010-7-19)
42 */

43void Singleton::destroyInstance()
44{
45    std::cout << "Destroy the instance." << std::endl;
46    delete m_pInstance;
47    m_pInstance = NULL;
48}

49

3)Main.cpp
 1/********************************************************************
 2* Copyright (c) 2010~2010 All Rights Resverved by wei.chen.
 3********************************************************************/

 4/*
 5 * @file Main.cpp
 6 * @brief The entrance of the program.
 7 * @version 0.1
 8 * @since 0.1
 9 * @author chenwei<76487974@qq.com> 
10 * @date 2010-7-19    Created it
11 */

12
13#include "Singleton.hpp"
14
15/**
16 * @fn main 
17 * @brief The entrance of the program.
18 * @return int 
19 * @retval 0-normal 
20 * @author wei.chen (2010-7-19)
21 */

22int main()
23{
24    Singleton* singletonTest = Singleton::creatInstance();
25    if (!singletonTest) {
26        std::cout << "Create Instance failed." << std::endl;
27        return -1;
28    }

29
30    singletonTest->test();
31    Singleton::destroyInstance();
32
33    return 0;
34}

35

posted on 2010-07-19 23:39 老狼 閱讀(1734) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美不卡高清| 欧美日韩国产91| 国内精品久久久久影院薰衣草| 午夜精品久久一牛影视| 亚洲视频在线观看网站| 国产精品高潮呻吟久久av黑人| 亚洲欧美日韩在线一区| 亚洲欧美自拍偷拍| 国内久久精品视频| 欧美激情成人在线| 欧美激情精品久久久久久大尺度| 亚洲午夜在线视频| 亚洲欧美在线x视频| 黑人中文字幕一区二区三区| 欧美高清视频www夜色资源网| 欧美电影在线播放| 亚洲免费在线精品一区| 欧美在线观看日本一区| 亚洲日本va午夜在线影院| 一区二区三区日韩欧美| 韩国成人理伦片免费播放| 欧美激情一级片一区二区| 欧美亚洲动漫精品| 另类酷文…触手系列精品集v1小说| 欧美韩日亚洲| 久久精品女人的天堂av| 欧美精品三级日韩久久| 欧美在线影院在线视频| 免费永久网站黄欧美| 亚洲欧美国产视频| 久久综合久久综合久久| 午夜精品久久久久99热蜜桃导演| 久久精品国产999大香线蕉| 亚洲三级视频在线观看| 欧美一区二区大片| 99精品欧美一区二区三区综合在线 | 久久久久久久久久看片| 一区二区国产在线观看| 久久精品国产2020观看福利| 国产精品99久久99久久久二8| 久久精品人人做人人爽| 亚洲综合国产精品| 欧美黄色精品| 美腿丝袜亚洲色图| 国产性猛交xxxx免费看久久| 亚洲久久成人| 日韩一级精品| 欧美**字幕| 免费在线观看日韩欧美| 国产亚洲精品自拍| 亚洲线精品一区二区三区八戒| 亚洲人午夜精品| 老司机亚洲精品| 久久久久亚洲综合| 国产免费一区二区三区香蕉精| 亚洲精品乱码久久久久久蜜桃麻豆| 国产尤物精品| 欧美亚洲一区二区三区| 久久国产精品99精品国产| 国产精品久久久久久久久免费桃花| 亚洲精品美女91| 亚洲精选国产| 欧美日韩第一页| 亚洲精品一级| av72成人在线| 欧美三区在线| 一区二区三区 在线观看视| 一区二区三区四区国产精品| 欧美激情按摩在线| 亚洲精品免费看| 在线视频免费在线观看一区二区| 欧美日韩精品高清| 日韩视频免费观看高清完整版| 99re8这里有精品热视频免费 | 亚洲婷婷在线| 欧美一区二区精美| 国产午夜精品久久久| 久久精品日韩欧美| 美日韩在线观看| 亚洲精品一二三| 欧美精品三级日韩久久| 9国产精品视频| 欧美一区二区三区免费视频| 国产亚洲aⅴaaaaaa毛片| 久久九九热re6这里有精品 | 香蕉成人伊视频在线观看| 国产精品日韩在线| 久久久久国产免费免费| 亚洲成人在线视频网站| 9久草视频在线视频精品| 国产精品成人一区| 久久九九电影| 亚洲九九精品| 久久精品免费看| 日韩视频永久免费| 国产乱码精品一区二区三区av| 欧美一区二区黄色| 亚洲激情网站| 久久久午夜电影| 日韩一二三在线视频播| 国产日韩欧美麻豆| 欧美.日韩.国产.一区.二区| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美四级在线| 久久精品国产亚洲精品| 亚洲黄色成人| 久久精品视频在线| 一本色道婷婷久久欧美| 国内精品久久久久影院色| 欧美精品一区二区三区在线看午夜| 亚洲欧美国产高清va在线播| 亚洲国产精彩中文乱码av在线播放| 亚洲一本视频| 亚洲伦理一区| 激情亚洲网站| 国产精品色在线| 欧美日韩国产成人在线免费| 久久精品五月| 亚洲欧美999| 夜夜嗨av一区二区三区四季av | 欧美亚洲一区| 夜夜狂射影院欧美极品| 韩国v欧美v日本v亚洲v| 国产精品视频久久久| 欧美久久久久久久久| 免费观看日韩av| 欧美中日韩免费视频| 亚洲欧美卡通另类91av| 亚洲精品视频在线观看网站| 欧美国产激情| 欧美成人a视频| 久久久久久夜| 久久精品国产亚洲a| 午夜久久资源| 亚洲欧美日韩视频二区| 亚洲综合大片69999| 99热精品在线| 99精品久久免费看蜜臀剧情介绍| 亚洲国产精品123| 在线精品国精品国产尤物884a| 国产综合自拍| 狠狠干成人综合网| 精久久久久久| 亚洲国产精品成人精品| 亚洲国产一区在线观看| 一区二区在线不卡| 一区二区三区在线免费播放| 国产亚洲精品久久久久婷婷瑜伽| 国产日韩精品视频一区| 国产婷婷成人久久av免费高清 | 欧美日韩国产在线观看| 欧美日韩国产综合一区二区| 欧美日韩国产精品一卡| 国产精品wwwwww| 国产欧美精品日韩| 国产亚洲日本欧美韩国| 激情五月综合色婷婷一区二区| 1000部精品久久久久久久久| 亚洲国产网站| 亚洲美女av在线播放| 一区二区三区免费网站| 亚洲欧美综合一区| 久久字幕精品一区| 亚洲国内在线| 中文精品视频| 久久av免费一区| 欧美国产日韩在线观看| 欧美调教vk| 极品少妇一区二区三区精品视频 | 国产精品久久久久久久7电影| 国产精品免费观看视频| 伊人色综合久久天天| 亚洲精品女人| 午夜欧美电影在线观看| 裸体女人亚洲精品一区| 日韩午夜激情| 欧美在线视频不卡| 欧美日韩极品在线观看一区| 国产日韩精品在线播放| 亚洲国产精品久久久久婷婷884| 亚洲私拍自拍| 美日韩在线观看| 亚洲社区在线观看| 免费高清在线一区| 国产精品久久综合| 亚洲精品久久久一区二区三区| 性欧美18~19sex高清播放| 欧美成人一区二区在线| 亚洲一区在线直播| 欧美成人精品激情在线观看| 国产亚洲精品激情久久| 宅男噜噜噜66一区二区| 久久久久久久久久码影片| 一本大道久久a久久精品综合| 午夜宅男久久久| 欧美日韩亚洲不卡| 亚洲肉体裸体xxxx137| 久久久美女艺术照精彩视频福利播放 | 久久久久久久久久久久久女国产乱| 亚洲裸体俱乐部裸体舞表演av|