单例模式CPP
單例模式:代碼中注釋明確。
C++中的static關(guān)鍵字要搞熟。
單例模式代碼:(帶釋放內(nèi)存)
#include<iostream> using namespace std;class singlecase {class clean{public:~clean(){if(singlecase::p){delete singlecase::p;singlecase::p = NULL;}}};private://構(gòu)造函數(shù)私有化singlecase(){}private://創(chuàng)建singlecase類型靜態(tài)指針變量用來(lái)保存唯一實(shí)例//類內(nèi)定義static singlecase *p;public://定義靜態(tài)成員函數(shù)訪問(wèn)靜態(tài)指針變量static singlecase* getp(){if(p == NULL){//唯一類對(duì)象實(shí)例化p = new singlecase();//借助其他類對(duì)象在生命周期結(jié)束時(shí)調(diào)用析構(gòu)函數(shù)間接釋放singlecase的唯一對(duì)象static clean c1;}return p;}void test(){cout<<"測(cè)試"<<endl;}}; //類外初始化 singlecase* singlecase::p= NULL;int main() {//單例模式 singlecase *tmp = singlecase::getp();tmp->test();system("pause");return 0; }總結(jié)
- 上一篇: bestCoder 2015 百度之星程
- 下一篇: WEB APP、HYBRID APP与N