C 工廠方法

2021-06-02 20:32:59 字數 1404 閱讀 2946

singleton.h

#pragma once

#ifndef singleton_h

#define singleton_h

templateclass singleton

virtual ~singleton(){}

/*** 防止拷貝複製

*/private:

singleton(const singleton &);

singleton & operator = (const singleton &);

};templatet& singleton::instance()

#endif

objectfactory.h

/**--------------------------------

* 物件工廠模式(object factory)

** code by xadillax

* * created at 2010-11-17 1:33

*/ #ifndef objectfactory_h

#define objectfactory_h

#pragma once

#include #include #include "singleton.h"

templateclass objectfactory : public singleton>

; templatebool objectfactory::register(char *type, tcreator procedure)

templatet* objectfactory::create(const std::string &type)

return 0;

} #endif

main.cpp

#include #include "objectfactory.h" 

using namespace std;

/** 基類 */

class base;

/** base類及其子類的物件工廠 */

typedef objectfactorybasefactory;

class base

; ~base(){};

}; class a : public base

; ~a(){};

static base* acreator()

;};

class b : public base

~b();

static base* bcreator()

}; /*** @brief 主函式

*/ int main()

return 0;

}

c 工廠方法

本文通過運用設計模式比沒用設計模式的優勢在哪?設計模式主要是要抓住穩定部分和易變部分,文章結尾會指出。還指出工廠方法被設計出來,最開始想要解決的問題是什麼。include using namespace std 老 class fruit public void eaten override cla...

簡單工廠方法,工廠方法,抽象工廠方法

以大話設計模式計算器為例 簡單工廠方法是由具體執行功能類,工廠類,客戶端構成,工廠類有case語句,負責建立不同的類,客戶端呼叫工廠類裡面的工廠方法,工廠類的工廠方法根據客戶端傳進去的引數new相應的類的物件返回給客戶端,客戶端得到返回的物件用該物件初始化該物件的成員變數最後呼叫該物件的方法執行計算...

C 工廠模式 工廠方法

簡單工廠 工廠模式 簡單工廠,工廠方法,抽象工廠三種.工廠方法 力求簡潔 工廠即為生產東西的地方.在c 也有這種模式,充分利用了物件導向語言的三大特徵 多型,繼承 簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工...