課程作業(七)

2022-05-07 02:42:10 字數 1788 閱讀 4976

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...