青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 183,  comments - 10,  trackbacks - 0
來自于《大話設計模式》
如果需要添加其他操作,需要
·添加一個操作類
·修改 OperationFactory
·修改客戶代碼以使用這個操作

UML 類圖如下:


實例代碼 C++:
  1 #include <iostream>
  2 using namespace std;
  3 
  4 class Operation
  5 {
  6 protected:
  7     double _numberA;
  8     double _numberB;
  9 public:
 10     Operation(double a = 0.0double b = 0.0) : _numberA(a), _numberB(b) {}
 11     virtual ~Operation() {}
 12     virtual double GetResult()
 13     {
 14         double result = 0.0;
 15         return result;
 16     }
 17 };
 18 
 19 class OperationAdd : public Operation
 20 {
 21 public:
 22     OperationAdd(double a = 0.0double b = 0.0) : Operation(a, b) {}
 23     virtual double GetResult()
 24     {
 25         return _numberA + _numberB;
 26     }
 27 };
 28 
 29 class OperationSub : public Operation
 30 {
 31 public:
 32     OperationSub(double a = 0.0double b = 0.0) : Operation(a, b) {}
 33     virtual double GetResult()
 34     {
 35         return _numberA - _numberB;
 36     }
 37 };
 38 
 39 class OperationMul : public Operation
 40 {
 41 public:
 42     OperationMul(double a = 0.0double b = 0.0) : Operation(a, b) {}
 43     virtual double GetResult()
 44     {
 45         return _numberA * _numberB;
 46     }
 47 };
 48 
 49 class OperationDiv : public Operation
 50 {
 51 public:
 52     OperationDiv(double a = 0.0double b = 0.0) : Operation(a, b) {}
 53     virtual double GetResult()
 54     {
 55         if (_numberB == 0.0)
 56         {
 57             throw runtime_error("Denominator is 0!");
 58         }
 59         return _numberA / _numberB;
 60     }
 61 };
 62 
 63 class OperationFactory
 64 {
 65 public:
 66     static Operation* CreateOperation(char ope, double a = 0.0double b = 0.0)
 67     {
 68         Operation* ret = 0;
 69         switch (ope)
 70         {
 71         case '+':
 72             ret = new OperationAdd(a, b);
 73             break;
 74         case '-':
 75             ret = new OperationSub(a, b);
 76             break;
 77         case '*':
 78             ret = new OperationMul(a, b);
 79             break;
 80         case '/':
 81             ret = new OperationDiv(a, b);
 82             break;
 83         default:
 84             break;
 85         }
 86         return ret;
 87     }
 88 };
 89 
 90 int main()
 91 {
 92     try
 93     {
 94         Operation* p_ope;
 95         p_ope = OperationFactory::CreateOperation('+'3.05.0);
 96         if (p_ope != 0)
 97         {
 98             cout << p_ope->GetResult() << endl;
 99             delete p_ope;
100             p_ope = 0;
101         }
102 
103         p_ope = OperationFactory::CreateOperation('-'3.05.0);
104         if (p_ope != 0)
105         {
106             cout << p_ope->GetResult() << endl;
107             delete p_ope;
108             p_ope = 0;
109         }
110 
111         p_ope = OperationFactory::CreateOperation('*'3.05.0);
112         if (p_ope != 0)
113         {
114             cout << p_ope->GetResult() << endl;
115             delete p_ope;
116             p_ope = 0;
117         }
118 
119         p_ope = OperationFactory::CreateOperation('/'3.05.0);
120         if (p_ope != 0)
121         {
122             cout << p_ope->GetResult() << endl;
123             delete p_ope;
124             p_ope = 0;
125         }
126 
127         p_ope = OperationFactory::CreateOperation('/'3.00.0);
128         if (p_ope != 0)
129         {
130             cout << p_ope->GetResult() << endl;
131             delete p_ope;
132             p_ope = 0;
133         }
134     }
135     catch (const exception& e)
136     {
137         cerr << e.what() << endl;
138     }
139     return 0;
140 }
posted on 2011-04-21 14:19 unixfy 閱讀(235) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            中文久久精品| 亚洲欧美另类在线观看| 欧美激情视频一区二区三区在线播放| 久久久综合香蕉尹人综合网| 香蕉久久精品日日躁夜夜躁| 久久精品国产成人| 六十路精品视频| 亚洲国产精品高清久久久| 狼人天天伊人久久| 欧美电影美腿模特1979在线看| 欧美激情第二页| 日韩亚洲欧美中文三级| 亚洲欧美激情诱惑| 久久亚洲国产精品日日av夜夜| 毛片一区二区三区| 欧美日韩免费一区| 国产亚洲欧美一区二区| 亚洲福利小视频| 一区二区av在线| 久久久av毛片精品| 亚洲精品激情| 伊人久久久大香线蕉综合直播| 欧美xx视频| 国产精品不卡在线| 在线精品高清中文字幕| 亚洲午夜激情免费视频| 久久精品在这里| 亚洲区欧美区| 久久久久久久久岛国免费| 欧美精品在线一区二区| 国产一区二区精品久久91| 亚洲三级影院| 久久久免费精品| 亚洲深夜影院| 欧美日韩国产精品一卡| 伊人狠狠色丁香综合尤物| 亚洲午夜av| 欧美激情中文字幕一区二区| 午夜视频一区二区| 欧美性猛交xxxx免费看久久久 | 午夜精品理论片| 女人天堂亚洲aⅴ在线观看| 国产精品一区在线播放| 一区二区高清在线| 久久综合九色| 午夜伦理片一区| 国产精品国产精品国产专区不蜜| 亚洲国产欧美日韩| 久久综合一区| 久久精品国内一区二区三区| 国产精品日韩精品| 亚洲一卡二卡三卡四卡五卡| 欧美国产精品劲爆| 久久久久国产一区二区| 国内精品久久久久影院 日本资源| 亚洲小视频在线观看| 91久久极品少妇xxxxⅹ软件| 久久久天天操| 亚洲国产黄色| 亚洲高清视频的网址| 欧美成人激情在线| 亚洲国产精品va在线观看黑人| 久久久精品动漫| 欧美在线日韩在线| 国内精品亚洲| 蜜桃久久av一区| 久久色在线播放| 亚洲国产一区二区a毛片| 男人的天堂成人在线| 久热国产精品| 99综合在线| 这里只有精品视频在线| 国产精品视频99| 久久三级视频| 免费观看30秒视频久久| 亚洲精品偷拍| 亚洲作爱视频| 国产日韩亚洲欧美| 美女视频黄a大片欧美| 欧美一区二区三区免费看 | 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品视频一区| 欧美国产日韩在线观看| 欧美国产日本| 亚洲网站在线| 欧美在线啊v| 亚洲精品一区二区在线观看| 亚洲美女啪啪| 国产欧美视频一区二区| 免费国产一区二区| 欧美日韩国产a| 久久久久久久久蜜桃| 另类av导航| 亚洲永久免费视频| 欧美中文字幕精品| 亚洲久久一区二区| 亚洲主播在线播放| 亚洲高清在线| 亚洲一区二区三区色| 国产在线精品一区二区夜色| 亚洲风情亚aⅴ在线发布| 国产精品多人| 亚洲第一在线综合在线| 国产精品亚洲综合| 亚洲国产精选| 国产视频观看一区| 日韩一本二本av| 亚洲第一二三四五区| 亚洲一区二区三区四区五区午夜| 亚洲电影在线| 性欧美xxxx大乳国产app| a4yy欧美一区二区三区| 久久黄色影院| 欧美一区二区免费视频| 欧美大学生性色视频| 久久综合一区| 国产亚洲欧美在线| 亚洲一区在线观看免费观看电影高清| 亚洲激情视频在线播放| 欧美亚洲一区二区在线| 亚洲免费在线观看| 欧美日韩免费网站| 91久久精品国产91久久性色| 永久久久久久| 久久久久久久久蜜桃| 久久国产一二区| 国产精品日韩一区| 夜夜嗨av一区二区三区免费区| 最新国产乱人伦偷精品免费网站| 性色av一区二区三区| 亚洲欧美日韩中文播放| 欧美日韩精品一区二区三区四区| 亚洲福利在线视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美一区在线看| 久久精品一本| 国产一区亚洲一区| 午夜宅男欧美| 久久久91精品国产| 国产一区二区三区免费不卡| 午夜日韩av| 美女精品一区| 亚洲黄一区二区| 99riav国产精品| 免费欧美在线视频| 亚洲国产成人av| 亚洲裸体在线观看| 欧美日韩一区二区三区在线看| 亚洲欧洲精品一区| 一区二区欧美精品| 国产精品久久久久久久久免费桃花| 日韩一级黄色av| 亚洲欧美日韩国产成人| 国产免费成人在线视频| 久久久久国产精品麻豆ai换脸| 欧美高清视频在线 | 午夜精品在线| 国产美女精品视频| 久久男人资源视频| 亚洲韩国日本中文字幕| 亚洲少妇诱惑| 国产亚洲欧美另类中文| 狂野欧美一区| 日韩性生活视频| 久久精品盗摄| 亚洲精品免费在线| 国产精品美女999| 久久久久亚洲综合| 日韩视频―中文字幕| 久久久蜜桃精品| 亚洲视频在线免费观看| 国产在线成人| 欧美日韩一区二区在线观看| 欧美一级艳片视频免费观看| 亚洲高清自拍| 久久成人国产| 一区二区三区日韩精品视频| 国产一区二区三区奇米久涩| 欧美激情一区二区三区不卡| 欧美影院成年免费版| 日韩视频一区二区三区| 久久免费一区| 午夜在线不卡| 一本一道久久综合狠狠老精东影业| 国产一区二区久久精品| 欧美日韩视频第一区| 久久精品最新地址| 国产精品99久久久久久久女警| 欧美电影免费观看高清完整版| 亚洲欧美在线免费| 日韩视频第一页| 在线观看一区| 国产亚洲美州欧州综合国| 欧美视频在线视频| 欧美大片第1页| 久久最新视频| 久久漫画官网| 久久免费精品视频| 久久久久免费观看| 欧美在线免费视屏|