亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

《Head First 設計模式》例子的C++實現(5 單例模式)

2019-11-08 02:29:26
字體:
來源:轉載
供稿:網友

最近在學習設計模式,用的是 《Head First 設計模式》這本書。感覺這本書寫的還是很不錯的,深入淺出的介紹了各種常用的設計模式。唯一有點不方便的地方是這本書的例子全都是用的 java 來實現的。而我主要是用 C++。所以就動手將書上的代碼用 C++ 來實現了一遍。

單例模式

單例模式相對比較簡答,只要將類的構造函數搞成 PRivate 就行了。

///ChocolateBoiler.h#ifndef CHOCOLATEBOILER_H#define CHOCOLATEBOILER_Hclass ChocolateBoiler{public: void fill(); void drain(); void boil(); bool isEmpty() {return m_empty;} bool isBoiled() {return m_boiled;} static ChocolateBoiler * getInstance();private: ChocolateBoiler(); bool m_empty; bool m_boiled; static ChocolateBoiler * m_instance;};#endif // CHOCOLATEBOILER_H///ChocolateBoiler.cpp#include "chocolateboiler.h"#include <iostream>using std::cout;using std::endl;ChocolateBoiler::ChocolateBoiler(){ m_empty = true; m_boiled = false;}void ChocolateBoiler::fill(){ if(isEmpty()) { m_empty = false; m_boiled = false; cout << "ChocolateBoiler is filled" << endl; // other things }}void ChocolateBoiler::drain(){ if(!isEmpty() && isBoiled()) { // m_empty = true; cout << "ChocolateBoiler is drained" << endl; }}void ChocolateBoiler::boil(){ if(!isEmpty() && !isBoiled()) { m_boiled = true; cout << "ChocolateBoiler is boiled" << endl; }}ChocolateBoiler * ChocolateBoiler::m_instance = nullptr;ChocolateBoiler * ChocolateBoiler::getInstance(){ if(!m_instance) // 如果用在多線程環境下,這里需要加鎖 { m_instance = new ChocolateBoiler; } return m_instance;}

如果希望在程序一運行時就建立對象,可以這樣寫:

ChocolateBoiler * ChocolateBoiler::m_instance = new ChocolateBoiler;ChocolateBoiler * ChocolateBoiler::getInstance(){ return m_instance;}

這里用到的知識點就是 static 類型的變量是在程序運行的最開始初始化的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久中文字幕| 亚洲国产日韩欧美在线图片| 亚洲国产精品嫩草影院久久| 欧美中文在线字幕| 国产一区二区三区毛片| 精品视频一区在线视频| 中文字幕亚洲欧美在线| 在线视频一区二区| 欧美精品生活片| 不卡伊人av在线播放| 日韩美女视频免费在线观看| 久久久久久久久久久久av| 91综合免费在线| 欧美在线播放视频| 亚洲精品美女在线观看播放| 国产精品草莓在线免费观看| 亚洲欧洲一区二区三区在线观看| 国产亚洲一区二区在线| 欧美黑人一区二区三区| 国产精品日韩在线| 久久久av电影| 久久久精品国产亚洲| 97免费中文视频在线观看| 国产成人精品av| 欧美亚洲成人精品| 日韩电影中文字幕在线观看| 亚洲精品免费av| 久久国产精品网站| 亚洲xxx视频| 欧美性精品220| 欧美亚洲激情在线| 国产精品pans私拍| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日韩国产中文专区| 成人激情在线播放| 精品国产视频在线| 久久免费视频在线观看| 欧美国产在线电影| 国产精品国产自产拍高清av水多| 久久久久久香蕉网| 国产成人在线精品| 欧美性xxxxx| 欧美激情一区二区三级高清视频| 国产精品第一第二| 91精品视频观看| 欧美大片在线影院| 国产在线观看精品| 91免费看片在线| 国产成人啪精品视频免费网| 久久久国产成人精品| 久久精品人人做人人爽| 久久这里有精品| 欧美午夜激情在线| 亚洲美女激情视频| 青青青国产精品一区二区| 国产精品xxx视频| 亚洲精品黄网在线观看| 91精品国产综合久久久久久久久| 亚洲精品免费网站| 欧美在线视频在线播放完整版免费观看| 福利一区视频在线观看| 久久人人爽人人爽爽久久| 欧美日韩第一视频| 欧美激情第6页| 欧美又大粗又爽又黄大片视频| 国产精品丝袜高跟| 一夜七次郎国产精品亚洲| 国产女精品视频网站免费| 北条麻妃一区二区在线观看| 国产午夜精品一区二区三区| 亚洲新声在线观看| 亚洲国产97在线精品一区| 亚洲理论在线a中文字幕| 中文字幕久久精品| 亚洲欧美中文日韩v在线观看| 亚洲欧美福利视频| 国产成人久久精品| 奇门遁甲1982国语版免费观看高清| 欧美成人午夜剧场免费观看| 韩国国内大量揄拍精品视频| 91久久精品在线| 久久久亚洲影院| 性欧美视频videos6一9| 亚洲图片制服诱惑| 欧美日韩激情小视频| 国产一区二区三区欧美| 亚洲性生活视频在线观看| 中文字幕欧美精品日韩中文字幕| 精品国偷自产在线| 欧美日韩亚洲一区二区三区| 亚洲最大成人免费视频| 欧美日本在线视频中文字字幕| 国产91精品久久久久久| 亚洲色无码播放| 久久久久久69| 色综合伊人色综合网| 亚洲国产精品久久久久久| 久久人91精品久久久久久不卡| 91久久在线视频| 国产精品白嫩初高中害羞小美女| 这里只有精品视频| 国产日韩欧美视频在线| 欧美黄色三级网站| 亚洲综合精品伊人久久| 欧美日韩亚洲激情| 亚洲伊人久久大香线蕉av| 欧美日韩精品在线| 亚洲高清久久网| 亚洲精品成人久久| 日韩精品免费在线| 隔壁老王国产在线精品| 亚洲最大成人在线| 欧美激情在线观看视频| 日本高清视频精品| 精品欧美激情精品一区| 亚洲欧美国产精品专区久久| 欧洲午夜精品久久久| 69久久夜色精品国产69乱青草| 国产有码一区二区| 亚洲xxxx妇黄裸体| 亚洲人成电影在线观看天堂色| 国产欧美精品xxxx另类| 性色av一区二区咪爱| 久久久久久久久91| 欧美不卡视频一区发布| 久久乐国产精品| 亚洲v日韩v综合v精品v| 日本a级片电影一区二区| 亚洲美女精品成人在线视频| 中文字幕亚洲欧美在线| 欧美电影免费在线观看| 国产精品都在这里| 亚洲成人av资源网| 青青草99啪国产免费| 免费av一区二区| 欧美日韩亚洲一区二区三区| 亚洲日本成人网| 亚洲欧美制服中文字幕| 精品视频www| 91免费欧美精品| 日本免费久久高清视频| 国产精品激情av在线播放| 最近日韩中文字幕中文| 国产成人精品优优av| 国产精品入口尤物| 亚洲福利在线观看| 国产在线一区二区三区| 欧美激情在线一区| 日韩中文av在线| 麻豆国产va免费精品高清在线| 国产精品偷伦视频免费观看国产| 亚洲国产一区自拍| 日韩精品免费观看| 成人免费直播live| 精品福利樱桃av导航| 亚洲在线视频观看| 国产视频一区在线| 欧美国产日韩中文字幕在线| 91国产一区在线| 91免费看国产| 日本成人激情视频| 欧美成人精品三级在线观看| 日韩在线观看免费高清完整版| 精品香蕉在线观看视频一|