使用c++语言编写重载函数max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值
时间: 2024-09-25 13:05:00 浏览: 43
在C++中,你可以通过函数重载(Function Overloading)来创建名为`max1`的不同版本,以便处理不同类型的数据。这里是一个简单的例子:
```cpp
#include <iostream>
#include <cmath>
// 函数模板处理两个整数
template<typename T>
T max1(T a, T b) {
return (a > b) ? a : b;
}
// 函数模板处理三个整数
template<typename T>
T max1(T a, T b, T c) {
return std::max(max1(a, b), c);
}
// 分别为double类型的函数
double max1(double a, double b) {
return std::max(a, b);
}
double max1(double a, double b, double c) {
return std::max(max1(a, b), c);
}
int main() {
int i1 = 5, i2 = 10, i3 = 3;
double d1 = 2.5, d2 = 4.7, d3 = 3.8;
std::cout << "Max of two integers: " << max1(i1, i2) << "\n";
std::cout << "Max of three integers: " << max1(i1, i2, i3) << "\n";
std::cout << "Max of two doubles: " << max1(d1, d2) << "\n";
std::cout << "Max of three doubles: " << max1(d1, d2, d3) << "\n";
return 0;
}
```
在这个示例中,我们定义了两个`max1`函数模板分别用于处理两个整数和三个整数,以及两个和三个双精度数。`std::max`函数用于计算给定范围内的最大值。
阅读全文