标签:
【1】什么是简单工厂模式? 核心思想:用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。 理解:根据条件生成不同的实例。利用多态的特性,调用同名方法,不同的实例将得到不同的结果。 【2】代码示例如下: 代码如下:
#include <iostream> #include <string> using namespace std; /* * 运算基类 */ class Operation { public: double numberA; double numberB; public: virtual double getResult() { return 0; } }; /* * 加法运算子类 */ class addOperation : public Operation { double getResult() { return numberA + numberB; } }; /* * 减法运算子类 */ class subOperation : public Operation { double getResult() { return numberA - numberB; } }; /* * 乘法运算子类 */ class mulOperation : public Operation { double getResult() { return numberA * numberB; } }; /* * 除法运算子类 */ class divOperation : public Operation { double getResult() { return numberA / numberB; } }; /* * 简单构建工厂 */ class operFactory { public: static Operation *createOperation(char c) { switch (c) { case ‘+‘: return new addOperation; break; case ‘-‘: return new subOperation; break; case ‘*‘: return new mulOperation; break; case ‘/‘: return new divOperation; break; default: break; } } }; /* * 客户端应用示例 */ void main() { Operation *oper = operFactory::createOperation(‘+‘); oper->numberA = 9; oper->numberB = 99; cout << oper->getResult() << endl; }
标签:
原文地址:http://www.cnblogs.com/leijiangtao/p/4534667.html