酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++ 多态魔法:实现双操作数计算器类全揭秘

为了实现一个C++计算器类,我们可以使用多态技术。首先,我们需要创建一个基类`Calculator`,然后创建两个派生类`AdditionCalculator`和`SubtractionCalculator`,分别用于加法和减法运算。在基类中,我们将定义一个纯虚函数`calculate`,在派生类中实现这个函数。我们可以创建一个工厂函数来根据用户输入的操作符创建相应的计算器对象。 以下是实现的代码: ```cpp #include <iostream> // 基类 class Calculator { public: virtual double calculate(double a, double b) = 0; // 纯虚函数 }; // 加法计算器类 class AdditionCalculator : public Calculator { public: double calculate(double a, double b) override { return a + b; } }; // 减法计算器类 class SubtractionCalculator : public Calculator { public: double calculate(double a, double b) override { return a - b; } }; // 工厂函数 Calculator* createCalculator(char op) { switch (op) { case '+': return new AdditionCalculator(); case '-': return new SubtractionCalculator(); default: return nullptr; } } int main() { double a, b; char op; std::cout << "请输入两个操作数和一个操作符(如:3 + 2):"; std::cin >> a >> op >> b; Calculator* calculator = createCalculator(op); if (calculator) { double result = calculator->calculate(a, b); std::cout << "结果为:" << result << std::endl; delete calculator; } else { std::cout << "无效的操作符" << std::endl; } return 0; } ``` 这个程序首先接收用户输入的两个操作数和一个操作符,然后根据操作符创建相应的计算器对象,并调用其`calculate`方法进行计算。最后输出计算结果。 ######[AI写代码神器 | 515点数解答 | 2024-05-25 18:39:25]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]