C++语言基础 例程 设计模式简介

来源:互联网 发布:php网站框架 编辑:程序博客网 时间:2024/06/03 15:09

贺老师的教学链接  本课讲解


示例:工厂模式


实现的C++代码:

#include<iostream>using namespace std;//基类:运算类class COperation{public:    double numberA;    double numberB;    virtual double getResult() = 0;};//加法class AddOperation: public COperation{public:    virtual double getResult()    {        return numberA+numberB;    }};//减法class SubOperation: public COperation{public:    virtual double getResult()    {        return numberA-numberB;    }};//乘法class MultiOperation: public COperation{public:    virtual double getResult()    {        return numberA*numberB;    }};//除法class DivOperation: public COperation{public:    virtual double getResult()    {        return numberA/numberB;    }};//工厂类class CCalculatorFactory{public:    static COperation* Create(char cOperator);};COperation* CCalculatorFactory::Create(char cOperator){    COperation *oper;    switch (cOperator)    {    case '+':        oper=new AddOperation();        break;    case '-':        oper=new SubOperation();        break;    case '*':        oper=new MultiOperation();        break;    case '/':        oper=new DivOperation();        break;    default:        oper=new AddOperation();        break;    }    return oper;}int main(){    double a,b;    char ch;    cin>>a>>ch>>b;    COperation * op=CCalculatorFactory::Create(ch);    op->numberA=a;    op->numberB=b;    cout<<op->getResult()<<endl;    return 0;}


0 0
原创粉丝点击