设计一个函数,可以计算三个类型相同数的最小数。例如(1,2,3)->1 、(2.1, 5.6, 9.8)->2.1 (‘b’,‘a’,‘y’)->'b
函数模板,一种可以提高代码重用性的模板。其中关键是函数的返回类型、参数类型是可以是未定的。只有当传递实参的时候
才会根据实参的数据类型来确定具体的函数返回类型、参数类型。
怎么让编译器知道我们定义了模板:
使用
template <typename T>//模板声明
再定义函数模板。
template ->让编译器知道这是模板声明
typename ->指定未定的参数类型
main.cpp
#include <iostream>
using namespace std;
template <typename T>
T min(T a, T b, T c);//T是一种未定的参数类型
int main()
{
cout << min(10, 5, 3) << endl;
cout << min(10.0, 5.0, 4.0) << endl;
cout << min('a', 'b', 'c') << endl;
system("pause");
return 0;
}
template <typename T>
T min(T a, T b, T c)
{
if (a<b)
{
a < c ? b = a : b = c;
return b;
}
else
{
b < c ? a = b : a = c;
return a;
}
}
运行结果: