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