整個程序,僅能建立乙個類變數
class a
//析構函式私有化
static a *m_pa; //單例記錄變數
class adispoes //m_pa 自動釋放變數
}};public:
static a *geta() //獲取單例指標
return m_pa;
}};a* a::m_pa = null; //靜態變數賦值
將類介面封裝,將呼叫者安排的明明白白!
#ifndef __api_hpp__
#define __api_hpp__
#include #include //公開介面的類
class api
;//實現邏輯的類 one 不公開介面
class implone : public api
};//實現邏輯的類 two 不公開介面
class impltwo : public api
};#endif
#ifndef __semple_factory_hpp__
#define __semple_factory_hpp__
/*簡單工廠 semple factory
對類進行封裝,把呼叫者安排的明明白白!
此專案,安排呼叫者呼叫 implone 或 impltwo 任意乙個類
*/#include "api.h"
#include typedef void* (*constructor)(); //防函式 用來記錄 類建立函式
//用來記錄 類建立函式
class cobjectfactory
static void* createclass(std::string classname)
private:
inline static std::map& constructors() };
//工廠類
class factory
};//巨集原型
//class implonehelper
////
// //建立函式
// static void* createrobjectfunc()
// //};
//註冊指定 類的 建立函式
#define reg_class(class_name) \
class class_name##helper\
\ static void* createrobjectfunc()\
\};\
class_name##helper class_name##helper;
#endif
#include "semplefactory.h"
//註冊 建立函式
reg_class(implone);
reg_class(impltwo);
int main()
C設計模式,C 設計模式解說文件
個人引用了知乎上面一位的回答 遂感覺暫時沒有接觸設計模式的必要,於是將手頭上的資源寫成部落格權當收藏 學習設計模式的乙個弊端是 我們學習的時候看到的只是結果,並不了解過程和動機,也就是其他人在什麼樣的情況下做出這樣的設計,而這個恰恰是各種教程 資料上學習不到的。我自己在經歷了2年的應用設計模式的摸索...
C 設計模式
c 設計模式大體上講分為三類,即 建立模式,結構模式和行為模式 建立模式 單例模式 工廠模式 抽象工廠模式 生成器模式 原型模式。結構模式 介面卡模式 橋接模式 組成模式 裝飾模式 外觀模式 享元模式 模式。行為模式 中介者模式 命令模式 備忘錄模式 狀態模式 策略模式 直譯器模式 迭代器模式 觀察...
C 設計模式
c 設計模式 課程目標 理解松耦合設計思想 掌握物件導向設計原則 掌握重構技法改善設計 掌握gof 核心設計模式 什麼事設計模式 每乙個模式描述了乙個在我們周圍不斷重 生的問題以及該問題的解決方案的核心。這樣,你就能一次又一次的 使用該方案而不必做重複勞動 gof設計模式 歷史性著作 設計模式 可復...