zoukankan      html  css  js  c++  java
  • 设计模式学习1 简单工厂模式

    工作半年了,开始学习设计模式和算法,有时间,至少我所在部门基本不加班,不过有时候很难打败懒惰...

     第一个设计模式:简单工厂模式。

    简单工厂模式可能是最经济实惠的一种设计模式了。

    写下来做个记录吧。

    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;
    }
    

      


      

  • 相关阅读:
    高斯消元
    逻辑运算符之优先级&&and、or
    康托展开
    关于bootstrap的双层遮罩问题
    写好页面在内网内访问
    swiper插件的一些坑
    第一篇博客
    poj 3415 Common Substrings
    poj 1509 Glass Beads
    poj 3260 The Fewest Coins
  • 原文地址:https://www.cnblogs.com/liujin2012/p/2847697.html
Copyright © 2011-2022 走看看