「已注销」 2021-07-27 17:36 采纳率: 71.4%
浏览 31
已结题

继承的分文件编写,继承的分文件编写

继承的分文件编写,继承的分文件编写,继承的分文件编写
继承的分文件编写,继承的分文件编写

  • 写回答

1条回答 默认 最新

  • 「已注销」 2021-07-27 17:37
    关注

    #include
    using namespace std;
    // Operation 运算类
    class Operation
    {
    double m_numberA;
    double m_numberB;
    public:
    void SetNumA(double numA)
    {
    m_numberA = numA;
    }
    void SetNumB(double numB)
    {
    m_numberB = numB;
    }
    double GetNumA()
    {
    return m_numberA;
    }
    double GetNumB()
    {
    return m_numberB;
    }
    virtual double GetResult() = 0;

    };
    class OperationAdd : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() + GetNumB();

    }
    

    };
    class OperationSub : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() - GetNumB();

    }
    

    };
    class OperationMul : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() * GetNumB();

    }
    

    };
    class OperationDiv : public Operation
    {
    public:
    virtual double GetResult()
    {
    if (GetNumB() == 0)
    {
    cout << "输入错误,除数不可以为零。" << endl;
    }
    return 0;

    }
    

    };
    class OperationFactory
    {
    public:
    static Operation* CreateOperate(char oper)
    {
    Operation poper = NULL;
    switch (oper)
    {
    case '+':
    poper = new OperationAdd;
    break;
    case '-':
    poper = new OperationSub;
    break;
    case '
    ':
    poper = new OperationMul;
    break;
    case '/':
    poper = new OperationDiv;
    break;

        }
        return poper;
    
    }
    

    };
    void test()
    {
    cout << "请输入一个数" << endl;
    double numA;
    cin >> numA;
    cout << "请输入一个运算符:" << endl;
    char oper;
    cin >> oper;
    cout << "请输入一个数:" << endl;
    double numB;
    cin >> numB;
    Operation *poper = OperationFactory::CreateOperate(oper);
    poper->SetNumA(numA);
    poper->SetNumB(numB);
    cout << poper->GetNumA() << ' ' << oper << ' ' << poper->GetNumB() << " = " << poper->GetResult() << endl;

    }
    int main()
    {
    test();
    }#include
    using namespace std;
    // Operation 运算类
    class Operation
    {
    double m_numberA;
    double m_numberB;
    public:
    void SetNumA(double numA)
    {
    m_numberA = numA;
    }
    void SetNumB(double numB)
    {
    m_numberB = numB;
    }
    double GetNumA()
    {
    return m_numberA;
    }
    double GetNumB()
    {
    return m_numberB;
    }
    virtual double GetResult() = 0;

    };
    class OperationAdd : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() + GetNumB();

    }
    

    };
    class OperationSub : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() - GetNumB();

    }
    

    };
    class OperationMul : public Operation
    {
    public:
    virtual double GetResult()
    {
    return GetNumA() * GetNumB();

    }
    

    };
    class OperationDiv : public Operation
    {
    public:
    virtual double GetResult()
    {
    if (GetNumB() == 0)
    {
    cout << "输入错误,除数不可以为零。" << endl;
    }
    return 0;

    }
    

    };
    class OperationFactory
    {
    public:
    static Operation* CreateOperate(char oper)
    {
    Operation poper = NULL;
    switch (oper)
    {
    case '+':
    poper = new OperationAdd;
    break;
    case '-':
    poper = new OperationSub;
    break;
    case '
    ':
    poper = new OperationMul;
    break;
    case '/':
    poper = new OperationDiv;
    break;

        }
        return poper;
    
    }
    

    };
    void test()
    {
    cout << "请输入一个数" << endl;
    double numA;
    cin >> numA;
    cout << "请输入一个运算符:" << endl;
    char oper;
    cin >> oper;
    cout << "请输入一个数:" << endl;
    double numB;
    cin >> numB;
    Operation *poper = OperationFactory::CreateOperate(oper);
    poper->SetNumA(numA);
    poper->SetNumB(numB);
    cout << poper->GetNumA() << ' ' << oper << ' ' << poper->GetNumB() << " = " << poper->GetResult() << endl;

    }
    int main()
    {
    test();
    }

    评论

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 创建了问题 7月27日

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型