工厂方法模式c++实现

来源:互联网 发布:网络直播红人瞳孔 编辑:程序博客网 时间:2024/06/10 18:45
#include<iostream>using namespace std;class Operation{public:  virtual double getResult(double a,double b) = 0;};class Factory{public:  virtual Operation * create() = 0;};class AddOperation : public Operation{public:  double getResult(double a,double b){return a + b;};};class TimesOperation : public Operation{public:  double getResult(double a,double b){return a * b;};};class AddFactory : public Factory{public:  Operation * create(){return new AddOperation;};};class TimesFactory : public Factory{public:  Operation * create(){return new TimesOperation;};};int main(){  Factory * addF = new AddFactory;  Factory * timesF = new TimesFactory;  Operation * add = addF->create();  Operation * times = timesF->create();  cout<<"1 + 2 = "<<add->getResult(1,2)<<endl;  cout<<"1 * 2 = "<<times->getResult(1,2)<<endl;  return 0;}


原创粉丝点击