导读 大家好,小俊来为大家解答以上问题。重载函数模板,重载函数很多人还不知道,现在让我们一起来看看吧!1、函数重载是指同一个函数名可以对

大家好,小俊来为大家解答以上问题。重载函数模板,重载函数很多人还不知道,现在让我们一起来看看吧!

1、函数重载是指同一个函数名可以对应多个函数的实现。

2、例如,可以为函数名add()定义多个函数实现,其功能是求和,即求两个操作数之和。

3、其中,一个函数是求两个int数的和,一个是求两个浮点数的和,一个是求两个复数的和。

4、每个实现对应一个函数体。

5、这些函数的名称相同,但函数的参数类型不同。

6、这就是函数重载的概念。

7、函数重载在类和对象的应用中尤为重要。

8、函数重载要求编译器在调用函数时唯一确定应该执行哪个函数代码,即应该实现哪个函数。

9、在确定一个函数的实现时,需要区分函数参数的数量和类型。

10、也就是说,重载一个函数时,要求同名函数在参数个数或参数类型上不同。

11、否则,将不会实现重载。

12、具有不同参数的重载函数:下面是一个具有不同参数类型的重载函数的示例:# includeIOStream。

13、Hintadd (int,int);doubleadd(double,double);voidmain(){coutadd(5,10)endl;coutadd(5.0,10.5)endl;}intadd(intx,inty){ returnx y;}doubleadd(doublea,doubleb){ return b;}在这个程序中,main()函数调用了两个同名的函数add。

14、前一个add()函数对应的是两个int数求和的函数实现,后一个add()函数对应的是两个double数求和的函数实现。

15、这是函数的重载。

16、上述程序的输出结果是:1515.5重载函数,参数个数不同。

17、下面是一个参数数量不同的重载函数的例子:# includeIoStream.hintmin (inta,intb);intmin(inta,intb,intc);intmin(inta,intb,intc,intd);voidmain(){coutmin(13,5,4,9)endl;coutmin(-2,8,0)endl;}intmin(inta,intb){ returnb?a:b}intmin(inta,intb,intc){intt=min(a,b);returnmin(t,c);}intmin(inta,intb,intc,intd){intt1=min(a,b);intt2=min(c,d);returnmin(t1,T2);}这个程序中有一个函数重载,函数名min对应三种不同的实现。

18、函数的区别取决于参数的数量。

19、这里的三个函数实现中,参数个数分别是2,3,4。

20、调用函数时,根据参数个数选择不同的函数实现。

本文到此结束,希望对大家有所帮助。