国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

Qt C++單例類寫法

2019-11-06 07:46:42
字體:
來源:轉載
供稿:網友

前言

所謂的單例模式,簡單的總結有兩點: 1.確保一個類只能創(chuàng)建一個實例 2.能夠提供一個訪問類對象的全局指針 為滿足以上條件,需要做的事情很簡單:第一步,將構造函數設置為私有,不讓在其它地方可以創(chuàng)建實例;第二步,創(chuàng)建一個公有靜態(tài)函數接口,在接口中創(chuàng)建類的實例并返回;這樣一來,在其它類里面要調用單例類的函數的話,就可以通過調用靜態(tài)函數拿到類的示例然后再調用類的其它公有函數。

來看代碼

頭文件

class CUtility{public: static CUtility* GetInstance(); static void Release(); int getCount(){ return m_nCount; } void setCount(int c){ m_nCount = c; }PRivate: CUtility(); static CUtility* m_pInstance; bool m_nCount;};

這里定義了一個靜態(tài)類GetInstance()用于訪問類的實例,然后定義了一些別的公有函數getCount()供外部函數調用。

源文件

#include "cutility.h"CUtility* CUtility::m_pInstance = NULL;CUtility *CUtility::GetInstance(){ if(m_pInstance == NULL) { m_pInstance = new CUtility(); atexit(Release); } return m_pInstance;}void CUtility::Release(){ if(m_pInstance) { delete m_pInstance; m_pInstance = NULL; }}CUtility::CUtility(): m_nCount(0){}

首先是靜態(tài)變量m_pInstance的初始化,這步驟一定不能少。 ok,代碼完成了 調用方式,假若第三方類想訪問這個單例類中的getCount函數,那么, CUtility::GetInstance()->getCount();


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

圖片精選

主站蜘蛛池模板: 广宁县| 乌审旗| 龙岩市| 滕州市| 景东| 石狮市| 宜阳县| 中阳县| 建昌县| 临澧县| 高邮市| 金川县| 朝阳市| 屏东市| 花莲县| 乌鲁木齐县| 阳西县| 昌宁县| 都江堰市| 喀什市| 武冈市| 辉南县| 赤壁市| 七台河市| 牡丹江市| 桐梓县| 南江县| 武清区| 光泽县| 泗洪县| 东丰县| 石景山区| 大同县| 茌平县| 镇巴县| 北海市| 西乌珠穆沁旗| 巴马| 资源县| 玉龙| 金山区|