相同功能的函数重载与函数模板的,优先调用函数重载:
测试代码如下:
#include <iostream>
#include <vector>
using namespace std;
template <typename T>
T func(T a,T b, T c)
{
if(b>a) a = b;
if(c>a) a = c;
cout<<"zzz"<<endl;
return a;
}
int func(int a,int b, int c)
{
if(b>a) a = b;
if(c>a) a = c;
cout<<"xxx"<<endl;
return a;
}
float func(float a,float b, float c)
{
if(b>a) a = b;
if(c>a) a = c;
cout<<"yyy"<<endl;
return a;
}
int main()
{
int i1 = 12,i2=23,i3 = 34;
cout<<func(i1,i2,i3)<<endl;
float d1 = 12.3,d2 = 34.5,d3 = 89.9;
cout<<func(d1,d2,d3)<<endl;
return 0;
}