本题目要求定义类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算,在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,然后分别输出它们的最大值、最小值、加、减、乘、除的结果。
时间: 2023-04-24 15:00:52 浏览: 167
题目要求我们定义一个类模板,实现两个数的最大值、最小值、加、减、乘、除等算术运算。我们可以定义一个类模板,其中包含这些运算的函数。
在main()函数中,我们可以使用该类模板分别实例化为int型和double型的类,定义相关的对象。然后读入2个整数和2个浮点数,分别调用对象的函数,输出它们的最大值、最小值、加、减、乘、除的结果。
示例代码如下:
```c++
#include <iostream>
using namespace std;
template <typename T>
class Calculator {
public:
T max(T a, T b) {
return a > b ? a : b;
}
T min(T a, T b) {
return a < b ? a : b;
}
T add(T a, T b) {
return a + b;
}
T sub(T a, T b) {
return a - b;
}
T mul(T a, T b) {
return a * b;
}
T div(T a, T b) {
if (b == 0) {
cout << "Error: divide by zero!" << endl;
return 0;
}
return a / b;
}
};
int main() {
Calculator<int> intCalc;
Calculator<double> doubleCalc;
int a, b;
double c, d;
cout << "Enter two integers: ";
cin >> a >> b;
cout << "Max: " << intCalc.max(a, b) << endl;
cout << "Min: " << intCalc.min(a, b) << endl;
cout << "Add: " << intCalc.add(a, b) << endl;
cout << "Sub: " << intCalc.sub(a, b) << endl;
cout << "Mul: " << intCalc.mul(a, b) << endl;
cout << "Div: " << intCalc.div(a, b) << endl;
cout << "Enter two doubles: ";
cin >> c >> d;
cout << "Max: " << doubleCalc.max(c, d) << endl;
cout << "Min: " << doubleCalc.min(c, d) << endl;
cout << "Add: " << doubleCalc.add(c, d) << endl;
cout << "Sub: " << doubleCalc.sub(c, d) << endl;
cout << "Mul: " << doubleCalc.mul(c, d) << endl;
cout << "Div: " << doubleCalc.div(c, d) << endl;
return 0;
}
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)