同樣以汽車廠生產汽車為例進行說明。
**如下:
#include #include using namespace std;
class ccarbase
virtual ~ccarbase(){}
protected:
ccarbase(){}
ccarbase(const string& name):m_name(name){}
string m_name;
};class gmcar : public ccarbase
void printname() };
class fordcar : public ccarbase
void printname() };
// 使用模板解決簡單工廠模式的缺陷
// 第一種:返回任意乙個類的例項(更加通用)
class stca***ctory
};/*
// 第二種:返回ccarbase的子類例項
class stca***ctory
};*/
void teststca***ctory()
int main(void)
C 設計模式之簡單工廠模式
專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。它又稱為靜態工廠方法模式,屬於類的建立型模式。簡單工廠模式的uml類圖 簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。該模式中包含的角色及其職責 工廠 cr...
c 設計模式之簡單工廠模式
設計模式的作用就是不同作用的 的區分管理,每乙個區塊的 只做好自己的事情。拿人體來舉例,大腦是所用活動的控制中樞。分別控制軀體,消化系統,免疫系統,神經系統等。那麼首先就需要將各個系統分割開來,在需要運動的時候通知軀體運動,需要消化的時候通知消化系統去消化 等等。再往細分,大腦給軀體發出乙個喝水的命...
c 設計模式之簡單工廠模式
簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端 使用工廠類 的選擇條件動態例項化相關的類,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。對於動態例項化,我們可以借助智慧型指標來完成對物件的管理。如下 include include using n...