用c++语言的多态写算数的四则运算
时间: 2024-05-13 09:16:56 浏览: 24
好的,下面是一个简单的示例:
```c++
#include <iostream>
using namespace std;
// 基类
class Arithmetic {
public:
virtual int calculate(int a, int b) { return 0; }
};
// 加法子类
class Add : public Arithmetic {
public:
int calculate(int a, int b) override { return a + b; }
};
// 减法子类
class Sub : public Arithmetic {
public:
int calculate(int a, int b) override { return a - b; }
};
// 乘法子类
class Mul : public Arithmetic {
public:
int calculate(int a, int b) override { return a * b; }
};
// 除法子类
class Div : public Arithmetic {
public:
int calculate(int a, int b) override { return a / b; }
};
int main() {
Arithmetic* p;
int a, b;
cout << "请输入两个整数:" << endl;
cin >> a >> b;
p = new Add();
cout << "加法结果:" << p->calculate(a, b) << endl;
p = new Sub();
cout << "减法结果:" << p->calculate(a, b) << endl;
p = new Mul();
cout << "乘法结果:" << p->calculate(a, b) << endl;
p = new Div();
cout << "除法结果:" << p->calculate(a, b) << endl;
return 0;
}
```
这里使用了多态的概念,即通过基类指针指向不同的子类实例,实现了不同的算数运算。每个子类都重写了基类的 calculate 方法,返回不同的运算结果。这样就可以通过改变指针指向的子类实例,实现不同的算数运算。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)