C++模板类:可以自动更改数据类型
#include <stdio.h>
#include <iostream>
using namespace std;
template <typename tem> //自定义得类型T
tem find_max(tem arr[], int len)
{
tem val = arr[0];
for (int i = 0; i < len; i++)
{
if (arr[i] > val)
val = arr[i];
}
return val;
}
template <typename _a, typename _b,typename _c>
_c add(_a a, _b b)
{
_c c;
c = a + b;
return c;
}
int main()
{
int arr[4] = { 0,1,3,5 };
int a = find_max<int>(arr, 4);
cout<< "result int :" << a << std::endl;
double aa[3] = { 0.1, -3.0, 4.33256652424355 };
double b = find_max<double>(aa, 3);
cout << "result double :" << b << endl;
int a1 = 2;
float a2 = 1.999;
float a3 = add<int, float, float>(a1, a2);
int a4 = add<int, float, int>(a1, a2);
cout << "result float a3 is: " << a3 << endl;
cout << "result int a4 is: " << a4 << endl;
system("pause");
return 0;
}