1、在c语言中是没有函数重载的。
2、c++的函数重载可以使用函数模板来简化重复的代码量,但是关于函数的重载有如下几个限制:
a)它只适用于函数的参数个数相同而类型不同;
b)它只适用于函数体相同的情况;
下面是我测试的代码:OverloadModel.cpp
/*
1、函数模板的应用;
*/
#include <iostream>
using namespace std;
template <class T>
T max(T a,T b,T c)
{
if(b>a)a=b;
if(c>a)a=c;
return a;
}
/*
注意事项:
1、注意开头的template中的 typename不要写成tempname;
2、typename可以替换为class,结果不变
*/
int main()
{
int i1=1,i2=2,i3=3,i;
i=max(i1,i2,i3);
double j1=1.1,j2=1.2,j3=1.3,j;
j=max(j1,j2,j3);
float k1=2.1,k2=2.2,k3=2.3,k;
k=max(k1,k2,k3);
cout<<"i="<<i<<endl;
cout<<"j="<<j<<endl;
cout<<"k="<<k<<endl;
return 0;
}