github inherit
#include#includeusing namespace std;
#define random(a,b) (rand()%(b-a+1)+a)
class random
};class randomnumber :public random
int random(int down, int up)
return random(down, up);
}};class randomoperation :public random
char random(char ifmultiplydivide)
case 2:
case 3:
case 4:
}} else//不允許乘除
case 2:
}} }
};int main()
簡單工廠模式是工廠模式中最簡單的一種。它用比較簡單的方式隱藏建立物件的細節,只需要告訴工廠類所需要的型別,工廠類就會返回需要的產品類。客戶唯一需要知道的具體子類就是工廠類。假如不用工廠類,只用random類和它的子類,那客戶每次使用不同的子類的時候都需要知道到底是用哪乙個子類。當模擬較少的時候還沒什麼問題,但是當模擬較多的時候,管理起來就非常的麻煩了,很容易發生錯誤。而使用工廠類則不會有這樣的問題,不管裡面多少個類,客戶只需要知道型別號即可。
不過,這邊還可能會出現這樣乙個問題,那就是客戶可能每次需要的產品各不相同,這樣如果所需產品是我們無法生產的時,就必須修改原始碼了。所以,簡單工廠模式一般適用於程式中有多種同型別類的情況。而如果要解決這個問題,就需要運用到工廠模式了。
下面做乙個簡單的總結:
客戶需求的產品大部分型別相似,也就是程式中有多種同型別類的情況,這樣就不必頻繁建造新工廠,工廠也不需要頻繁更新生產線,修改**時也只需要修改少部分的一些地方。
#include#includeusing namespace std;
#define random(a,b) (rand()%(b-a+1)+a)
class random
virtual int random(int a, int b)
virtual char random(char a) };
class randomnumber :public random
int random(int down, int up)
return random(down, up);
}};class randomoperation :public random
char random(char ifmultiplydivide)
case 2:
case 3:
case 4:
}} else//不允許乘除
case 2:
}} }
};class randomfactory
random *createrandom(const string &x)
else
else
}}};
int main()
詳解設計模式之工廠模式(簡單工廠+工廠方法+抽象工廠)
三種工廠模式的分析以及c++實現
c++簡單工廠模式
設計模式乾貨系列:(一)簡單工廠模式
課程作業七
課程作業七 基類.class random random virtual void random 0 virtual char randomoperation 0 virtula int randomnumber 0 派生類 生成隨機數.class randomnumber virtual publ...
《物件導向程式設計》課程作業七
題目描述 請將隨機生成數字 表示式的部分設計成 乙個random基類,基類中有random 方法。並由該基類派生出randomnumber類 randomoperation類,繼承並覆蓋父類方法。學習簡單工廠模式,思考能否將該模式運用到題目的第一點要求中。include includeusing n...
2017《物件導向程式設計》課程作業七
有乙個隨機類作為基類,隨機數類和隨機符號類繼承基類,各自增加保護成員隨機數和隨機符號,後在各自的random 方法中對隨機數和隨機符號賦值。隨機表示式類通過保護繼承的方式繼承隨機數類和隨機符號類,在random 方法中將隨機數和隨機符號組合成隨機表示式。使用時需要新建乙個randomexpressi...