用函数模版实现求任意2个或3个整数的最大数C++
时间: 2023-06-11 21:09:21 浏览: 109
用模板函数求最大值的C++代码
可以使用函数模板 `max()` 来实现求任意2个或3个整数的最大值:
```c++
#include <iostream>
using namespace std;
// 比较两个数的大小
template<typename T>
T max(T a, T b) {
return a > b ? a : b;
}
// 比较三个数的大小
template<typename T>
T max(T a, T b, T c) {
return max(max(a, b), c);
}
int main() {
cout << "max(1, 2) = " << max(1, 2) << endl; // 输出 2
cout << "max(1, 2, 3) = " << max(1, 2, 3) << endl; // 输出 3
return 0;
}
```
在这个例子中,使用了两个函数模板 `max()`,一个用于比较两个数的大小,另一个用于比较三个数的大小。通过在函数名后面加上 `<typename T>`,指定了这是一个函数模板,T 是一个模板类型参数,可以是任意类型。在函数体内,使用 `return a > b ? a : b;` 来比较两个数的大小,并返回最大值。在比较三个数的大小时,使用了两次 `max()` 函数来嵌套比较,得到三个数中的最大值。
阅读全文