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

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 老狼 閱讀(1721) 評論(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>
            亚洲影院一区| 免费一级欧美片在线观看| 亚洲一区精彩视频| 麻豆视频一区二区| 永久域名在线精品| 亚洲视频一区二区免费在线观看| 亚洲理论在线| 久久久777| 夜夜爽99久久国产综合精品女不卡 | 亚洲另类黄色| 亚洲日本电影| 欧美亚洲一区二区在线| 美女脱光内衣内裤视频久久影院| 日韩视频永久免费| 久久免费精品视频| 国产精品午夜久久| 亚洲一区欧美一区| 久久黄色级2电影| 日韩视频免费观看高清完整版| 久久九九免费| 国产亚洲精品aa| 亚洲午夜黄色| 欧美激情在线观看| 日韩视频在线观看| 免费观看一区| 曰本成人黄色| 亚洲欧美国产三级| 欧美一区二区三区精品| 亚洲欧美韩国| 亚洲国产精品久久久久久女王| 久久精品国产在热久久| 国产美女一区| 欧美一区二区视频在线观看| 亚洲伊人一本大道中文字幕| 久久久噜噜噜久久狠狠50岁| 韩日欧美一区| 日韩视频免费观看高清在线视频 | 午夜精品福利一区二区三区av| 欧美在线3区| 亚洲性图久久| 欧美夫妇交换俱乐部在线观看| 小处雏高清一区二区三区| 日韩一级精品视频在线观看| 欧美3dxxxxhd| 亚洲美女网站| 日韩一区二区精品| 国产精品www色诱视频| 精品电影在线观看| 乱中年女人伦av一区二区| 久久免费国产| 亚洲精品看片| 日韩天堂av| 国产精品一区视频| 老牛国产精品一区的观看方式| 久久久天天操| 亚洲精品一区久久久久久| 99ri日韩精品视频| 国产精品免费福利| 久久精品午夜| 一本色道久久综合亚洲精品小说| 国产精品久久久久久久久久免费看| 午夜在线电影亚洲一区| 久久精品30| 亚洲精品一区二区三| 你懂的成人av| 欧美日韩在线播| 久久午夜av| 欧美日韩福利| 久久国产精品色婷婷| 亚洲视频一起| 激情五月综合色婷婷一区二区| 亚洲成色精品| 国产精品女人久久久久久| 久久日韩粉嫩一区二区三区| 欧美激情网站在线观看| 欧美一区亚洲一区| 免费观看成人| 亚洲欧美视频在线观看视频| 久久亚洲精选| 性色av一区二区三区红粉影视| 久久久在线视频| 亚洲精品色婷婷福利天堂| 亚洲一区三区电影在线观看| 极品中文字幕一区| 亚洲国产天堂久久综合| 国产欧美日韩高清| 日韩视频一区二区在线观看| 亚洲国产一成人久久精品| 欧美天堂亚洲电影院在线观看| 欧美99在线视频观看| 久久综合网色—综合色88| 亚洲一区二区三区在线看| 久久久久久穴| 欧美一区在线直播| 你懂的一区二区| 欧美在线视频免费| 国产精品日韩久久久| 亚洲精品久久在线| 亚洲激情一区二区三区| 久久精品亚洲国产奇米99| 午夜精品久久久久久99热软件| 欧美日本在线播放| 亚洲激情av在线| **网站欧美大片在线观看| 国产日韩精品久久久| 欧美1区免费| 国产在线观看一区| 亚洲自拍偷拍福利| 亚洲视频在线观看视频| 欧美精品在线一区二区| 亚洲高清久久| 亚洲精品在线看| 欧美精品在线观看一区二区| 亚洲国产综合视频在线观看 | 夜夜夜久久久| 亚洲高清av在线| 欧美一区三区三区高中清蜜桃| 午夜一级久久| 国产精品亚洲综合色区韩国| 亚洲一区日韩在线| 欧美在线观看一二区| 国产伦精品一区二区三区高清版 | 国产在线不卡视频| 欧美一区二区精品久久911| 性欧美暴力猛交69hd| 国产精品一二| 欧美一区二区三区视频在线| 久久久国产精品一区| 国内视频一区| 玖玖玖免费嫩草在线影院一区| 欧美www在线| 99热免费精品在线观看| 欧美日韩精品二区| 亚洲在线免费观看| 久久久久久久97| 亚洲国产成人在线| 欧美日韩精品欧美日韩精品一 | 久久久久久伊人| 榴莲视频成人在线观看| 亚洲精选91| 国产精品久久久久久久久借妻| 性久久久久久久久| 蜜乳av另类精品一区二区| 亚洲免费电影在线| 国产精品网站在线播放| 久久久久亚洲综合| 亚洲精品自在在线观看| 欧美在线视频在线播放完整版免费观看 | 欧美在线黄色| 亚洲第一网站免费视频| 亚洲在线成人| 一区二区三区在线视频免费观看 | 亚洲天堂av电影| 国产最新精品精品你懂的| 欧美成人激情视频免费观看| 亚洲网站在线| 亚洲电影中文字幕| 久久精品麻豆| 一区二区三区波多野结衣在线观看| 久久在线免费观看| 日韩视频在线观看| 国产精品久久国产三级国电话系列| 久久av在线| 一区二区三区成人精品| 女同性一区二区三区人了人一 | 国产精品视频一区二区高潮| 亚洲视频大全| 亚洲国产综合在线| 久久夜色精品国产亚洲aⅴ| 一区二区电影免费在线观看| 激情久久久久久久| 欧美在线亚洲综合一区| 妖精成人www高清在线观看| 久久综合国产精品| 午夜久久美女| 99在线精品视频| 亚洲承认在线| 国产一区日韩一区| 国产精品xnxxcom| 欧美国产三级| 久久亚洲国产成人| 久久精品免费电影| 亚洲一区免费视频| 一个色综合av| 亚洲精品中文字幕女同| 欧美v国产在线一区二区三区| 久久精品国产精品亚洲精品| 亚洲少妇一区| 一区二区激情视频| 99re6这里只有精品| 亚洲国产精品电影在线观看| 韩国福利一区| 国产婷婷色一区二区三区四区| 国产精品美女久久久免费| 国产精品福利片| 国产精品videossex久久发布| 欧美精品在线看| 欧美日韩另类一区| 欧美看片网站| 久久久www免费人成黑人精品|