【C++之多态】多态实现计算器功能

【C++之多态】多态实现计算器功能,第1张

题目分别收录于 牛客网 在线编程-语法篇-C++入门-04面向对象-多态-CPP46 多态实现计算器功能

题目 描述:

完善下面的代码,使程序能够正常运行。要求 BaseCalculator 类中提供 getResult() 函数(无需实现),在 AddCalculator 类中实现两个成员相加(m_A + m_B),在 SubCalculator 类中实现两个成员相减(m_A - m_B)

输入描述:

实现 10 和 20 的相加,20 与 10 的相减

输出描述:

30
10

代码

本题属于简单题,将会用到抽象基类和纯虚函数,相关知识点可以参考我以前的博客:【C++之纯虚函数与抽象类1】圆形、矩形、三角形的面积

#include 
using namespace std;

// 抽象基类
class BaseCalculator {
  public:
    int m_A, m_B;
    virtual int getResult() = 0; // 纯虚函数
};

class AddCalculator: public BaseCalculator {
  public:
    virtual int getResult(){return m_A + m_B;}
};

class SubCalculator: public BaseCalculator {
  public:
    virtual int getResult(){return m_A - m_B;}
};

int main() {
    BaseCalculator* Cal = new AddCalculator;
    Cal -> m_A = 10;
    Cal -> m_B = 20;
    cout << Cal -> getResult() << endl;
    delete Cal;

    Cal = new SubCalculator;
    Cal -> m_A = 20;
    Cal -> m_B = 10;
    cout << Cal -> getResult() <<endl;
    delete Cal;

    return 0;
}

最后建议大家学习编程的时候多刷题练习,这里推荐牛客网👍,不仅集成了丰富的题库可供刷题,还有学习资源库、交流讨论区、面试经验分享和实习校招社招内推消息等等。
👉传送门:牛客网

刚入门可选择刷在线编程的题库🚩
熟悉之后可以尝试专项练习🚩

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/3002415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存