設計模式之 簡單工廠模式 C 實現

2021-07-10 21:04:43 字數 707 閱讀 8517

這篇文章主要介紹 簡單工廠模式 。

下面是關於汽車廠生產汽車的乙個典型案例。

**如下:

#include #include #include using namespace std;

// abstract product

class carbase

virtual void printname()

protected:

string m_name;

// 建構函式宣告為protected 保證基類在外部不可例項化 必須繼承

carbase(){}

carbase(const string& name) :m_name(name){}

};// 產品1

class gmcar : public carbase

void printname() };

// 產品2

class fordcar : public carbase

void printname() };

// 工廠類

class ca***ctory

else if ("ford" == name)

else

return car;

}};void test******factorymode()

int main(void)

設計模式之簡單工廠模式 C 實現

更多設計模式參看 設計模式之模式概述 模式彙總 c 實現 優點 缺點 模式結構 角色 示例 按實際業務場景劃分,工廠模式有 3 種不同的實現方式,分別是簡單工廠模式 工廠方法模式和抽象工廠模式。把被建立的物件稱為 產品 把建立產品的物件稱為 工廠 如果要建立的產品不多,只要乙個工廠類就可以完成,這種...

《大話設計模式》C 實現之簡單工廠模式

本篇部落格是本人學習 大話設計模式 之後的乙個總結分享。原書是用c 編寫的偽 此處本人將使用c 語言來實現書中的各種設計模式。由於時間有限,此處僅貼出經過設計模式優化後的 也就是書中的最終版 此處 均為自己編寫,個別借鑑了其他優秀大佬博主的 邏輯,此 僅供學習交流,不做其他商業用途。本模式通過編寫計...

設計模式 簡單工廠模式 C 實現

考慮乙個簡單的軟體應用場景,乙個軟體系統可以提供多個外觀不同的按鈕 如圓形按鈕 矩形按鈕 菱形按鈕等 這些按鈕都源自同乙個基類,不過在繼承基類後不同的子類修改了部分屬性從而使得它們可以呈現不同的外觀,如果我們希望在使用這些按鈕時,不需要知道這些具體按鈕類的名字,只需要知道表示該按鈕類的乙個引數,並提...