要求写出函数模板,对于任意类型的变量,均可产生模板函数,求出两个变量中的最小值
时间: 2023-10-04 14:08:27 浏览: 22
下面是一个求取两个变量最小值的函数模板:
```cpp
template<typename T>
T min(T a, T b) {
return a < b ? a : b;
}
```
使用时,可以传入任意类型的参数:
```cpp
int a = 10, b = 20;
double c = 3.14, d = 2.718;
cout << min(a, b) << endl; // 输出 10
cout << min(c, d) << endl; // 输出 2.718
```
相关问题
【平时考核】求两个变量中最小的那一个 【问题描述】 要求写出函数模板,对于任意类型的变量,均可产生模板函数,求出两个变量中的最小值。 【输入形式】 输入数据有三行,分别为: 两个整数 两个浮点数 两个字符
以下是求两个变量中最小的那一个的函数模板实现:
```cpp
#include <iostream>
using namespace std;
template <typename T>
T min(T a, T b) {
return a < b ? a : b;
}
int main() {
int a, b;
float c, d;
char e, f;
cin >> a >> b >> c >> d >> e >> f;
cout << "min of a and b: " << min(a, b) << endl;
cout << "min of c and d: " << min(c, d) << endl;
cout << "min of e and f: " << min(e, f) << endl;
return 0;
}
```
上述代码中的 `min()` 函数是一个模板函数,可以接受任意类型的参数。在 `main()` 函数中,我们分别输入了两个整数、两个浮点数和两个字符,并使用 `min()` 函数求出了它们中的最小值。
使用函数模板求任意类型的两个数中的大者。
可以使用函数模板实现求任意类型的两个数中的大者,示例代码如下:
```cpp
#include<iostream>
using namespace std;
template<typename T>
T max(T a, T b){
return a > b ? a : b;
}
int main(){
int a = 10, b = 20;
double c = 3.14, d = 2.718;
cout << "max(a, b) = " << max(a, b) << endl;
cout << "max(c, d) = " << max(c, d) << endl;
return 0;
}
```
在上面的代码中,我们定义了一个函数模板 `max`,它有两个参数 `a` 和 `b`,返回值类型为模板类型 `T`,用于比较两个数中的大者,然后在 `main` 函数中分别传入 `int` 和 `double` 类型的变量,输出它们的最大值。
输出结果为:
```
max(a, b) = 20
max(c, d) = 3.14
```