工廠模式(factory method):定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使得乙個類的例項化延遲到其子類。
#ifndef _operation_h_
#define _operation_h_
class operation
;class operationadd:public operation
;class operationsub:public operation
;class operationmul:public operation
;class operationdiv:public operation
;#endif
#include "operation.h"
#include #include using namespace std;
double operationadd::getresult()
double operationsub::getresult()
double operationmul::getresult()
double operationdiv::getresult()
else
cout<<"除數不能為0"<#include "factory.h"
#include "operation.h"
using namespace std;
int main()
{ char operate;
double numa;
double numb;
operation* op=null;
operationfactory* of= null;
cout<<"請輸入數字1:";
cin>>numa;
cout<<"請輸入運算子:";
cin>>operate;
cout<<"請輸入數字2:";
cin>>numb;
switch(operate)
{ case '+':of = new addfactory();break;
case '-':of = new subfactory();break;
case '*':of = new mulfactory();break;
case '/':of = new divfactory();break;
default:cout<<"算符輸入錯誤!"op->_num1 = numa;
op->_num2 = numb;
double result = op->getresult();
cout<
(五)工廠模式
這個跟之前的簡單工廠模式的不同之處在於工廠類factory作為基類存在,演算法類operation作為子類存在,不同的工廠子類生成對應大算法子類,不難理解,就直接貼 了 include include using namespace std 演算法類 class operation void set...
設計模式 工廠模式(五)
軟體領域中的設計模式的重要性不言而喻。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型。雖然知道這些特性的定義但是並沒有做到真正的理解,這樣特性有什麼作用?用於什麼場合中等等問題,帶著疑問開始學習設計模式,主要參考 大話設計模式 和 設計模式 可復用物件導向軟體的基礎 兩本書。工廠方...
設計模式 五 工廠模式
工廠模式 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類,克服了簡單工廠違背開放 封閉原則的缺點,又保持了封裝物件建立過程的有點。開放 封閉原則 對於拓展是開放的,對於更改是封閉的 學生和志願者繼承雷鋒類,學生工廠和志願者工廠實現了雷鋒工廠介面,當需要改變...