工作半年了,开始学习设计模式和算法,有时间,至少我所在部门基本不加班,不过有时候很难打败懒惰...
第一个设计模式:简单工厂模式。
简单工厂模式可能是最经济实惠的一种设计模式了。
写下来做个记录吧。
class Cal { public: virtual double getResult() { return 0; } void setPara(double paraA,double paraB) { parameterA = paraA; parameterB = paraB; } protected: double parameterA; double parameterB; }; class Plus:public Cal { public: Plus(){} double getResult() { return parameterA + parameterB; } }; class Minus:public Cal { public: Minus(){} double getResult() { return parameterA - parameterB; } }; class Factory { public: Cal * createCal(const char opt) { switch (opt) { case '+':{return new Plus();break;} case '-':{return new Minus();break;} default:{cout<<"wrong input"<<endl;return NULL;} } } }; void main() { double paraA = 5,paraB=43,result = 0; Cal *cal = NULL; Factory factory; cal = factory.createCal('-'); cal->setPara(paraA,paraB); result = cal->getResult(); cout<<result<<endl; }