設計模式singleton的C 實現原始碼

2021-05-22 14:40:28 字數 996 閱讀 6238

1、單件類mysingleton定義

#ifndef mysingleton_h

#define mysingleton_h

class mysingleton

;#endif

2、單件類mysingleton實現

#include

#include

#include "mysingleton.h"

int mysingleton::mycount = 0;

mysingleton* mysingleton::myins = null;

mysingleton* mysingleton::getinstance()

mycount++;

return myins;

}mysingleton::mysingleton(char* name)

else

szres = null;

}mysingleton::~mysingleton()

mycount = 0;

if(szres != null)

}char* mysingleton::getname()

char* st = new char[3];

sprintf(st,"%02d",mycount);

int len = strlen("name: ") + strlen(szname) + strlen(" count: ") + strlen(st);

szres = new char[len + 1];

strcpy(szres, "name: ");

strcat(szres,szname);

strcat(szres," count: ");

strcat(szres,st);

return szres;

}3、客戶使用類client

#include

#include "mysingleton.h"

int main()

c 設計模式 Singleton模式

參考的文件 單例要求乙個類裡面只有乙個例項,並且提供了乙個全域性的訪問點。單例類裡面定義了乙個getinstance的方法,是乙個靜態方法。用於建立自己的唯一例項。在乙個系統裡面要求某個類只有乙個例項才能使用單例模式。比如印表機 或者乙個通訊口進行傳輸。using system using syst...

C 設計模式之Singleton模式

singleton是二十三個設計模式中比較重要也比較經常使用的模式。但是這個模式雖然簡單,實現起來也會有一些小坑,讓我們一起來看看吧!首先我們看看這個設計模式的uml類圖。很清晰的可以看到,有三點是需要我們在實現這個模式的時候注意的地方。其中,私有化構造器是防止外部使用者建立新的例項而靜態方法用於返...

C 設計模式之Singleton

一 功能保證乙個類僅有乙個例項。二 結構圖 三 優缺點 singleton模式是做為 全域性變數 的替代品出現的。所以它具有全域性變數的特點 全域性可見 貫穿應用程式的整個生命期,它也具有全域性變數不具備的性質 同型別的物件例項只可能有乙個。四 實現 教科書上的singleton定義如下 class...