sy4_多态的应用_1.2_函数模板
(1) 分别计算int、double、float和long类型数组中的最小值,第二种方法:使用函数模板实现。
实现思路:
引入函数模板
template<typename T, typename T1>
T min(T a[], T1 n)
{
T min = a[0];
for (int i = 1; i < n; i++)
{
if (min > a[i])
{
min = a[i];
}
}
return min;
}
调用函数模板:根据调用的情况,函数模板的实例化为模板函数过程是编译器自动完成的,和之前调用普通函数一样。
int a[7] = { 5,2,1,3,4,7,6 };
min(a, 7);
整段代码:
#include<iostream>
using namespace std;
template<typename T, typename T1>
T min(T a[], T1 n)
{
T min = a[0];
for (int i = 1; i < n; i++)
{
if (min > a[i])
min = a[i];
}
return min;
}
int main()
{
cout << "(2)函数模板:" << endl;
int a[7] = { 5,2,1,3,4,7,6 };
double b[7] = { 0.5,0.3,1.4,1.1,0.9,0.4,0.2 };
float c[7] = { 2.1f,2.3f,2.4f,1.5f,1.8f,1.3f,5.4f };
long d[7] = { 1,2,3,4,5,6,7 };
cout << "int型数组最小值:" << min(a, 7) << endl;
cout << "double型数组最小值:" << min(b, 7) << endl;
cout << "float型数组最小值:" << min(c, 7) << endl;
cout << "long型数组最小值:" << min(d, 7) << endl;
return 0;
}