weixin_71426357 2022-06-17 15:51 采纳率: 100%
浏览 31
已结题

c++,Calculator类为抽象类

要求:
(1)已知Calculator类为抽象类,包含两个protected的double类型变量 x与y;
(2)Add类与Mul类均从Calculator类公有派生,分别使用result()函数进行加与乘的运算;
请根据运行结果与main函数将程序补充完整。
请注意第2个操作数为负时的输出形式。
例1(只有第1行为输入):
2.2 3.33
2.2+3.33=5.53
3.33*2.2=7.326

例2(只有第1行为输入):
-2.2 -3.3
-2.2-3.3=-5.5
-3.3*(-2.2)=7.26

请注意,main()函数(或函数调用)必须按如下所示编写:
int main()
{
Calculator *pc;
double x,y;
cin>>x>>y;
Add a1(x,y);
Mul m1(x,y);
pc=&a1;
pc->result();
pc=&m1;
pc->result();
return 0;
}

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-06-17 16:28
    关注

    参考一下

    
    #define _CRT_SECURE_NO_WARNINGS
    #include<iostream>
    #include<string>
    using namespace std;
     
    //普通写法
    class calculator
    {
    public:
     
        int getResult(string oper)
        {
            if (oper == "+")
            {
                return m_Num1 + m_Num2;
            }
            else if (oper == "-")
            {
                return m_Num1 - m_Num2;
            }
            else if (oper == "*")
            {
                return m_Num1 * m_Num2;
            }
            else if (oper == "/")
            {
                return m_Num1 / m_Num2;
            }
        }
     
        int m_Num1;
        int m_Num2;
    };
    void test()
    {
        calculator c;
        c.m_Num1 = 100;
        c.m_Num2 = 10;
     
        cout << c.m_Num1 << "+" << c.m_Num2 << "=" << c.getResult("+") << endl;
        cout << c.m_Num1 << "-" << c.m_Num2 << "=" << c.getResult("-") << endl;
        cout << c.m_Num1 << "*" << c.m_Num2 << "=" << c.getResult("*") << endl;
        cout << c.m_Num1 << "/" << c.m_Num2 << "=" << c.getResult("/") << endl;
    }
    int main()
    {
     
        test();
     
        system("pause");
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月25日
  • 已采纳回答 6月17日
  • 创建了问题 6月17日

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装
  • ¥40 复杂的限制性的商函数处理