函数重载与函数模板

函数重载与函数模板

ID:39848199

大小:224.26 KB

页数:11页

时间:2019-07-13

函数重载与函数模板_第1页
函数重载与函数模板_第2页
函数重载与函数模板_第3页
函数重载与函数模板_第4页
函数重载与函数模板_第5页
函数重载与函数模板_第6页
函数重载与函数模板_第7页
函数重载与函数模板_第8页
函数重载与函数模板_第9页
函数重载与函数模板_第10页
资源描述:

《函数重载与函数模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在编程时,有时我们要实现的是同一类的功能,只是有些细节不同。例如希望从3个数中找出其中的最大者,而每次求最大数时数据的类型不同,可能是3个整数、3个双精度数或3个长整数。程序设计者往往会分别设计出3个不同名的函数,其函数原型为:intmax1(inta,intb,intc);//求3个整数中的最大者doublemax2(doublea,doubleb,doublec);//求3个双精度数中最大者longmax3(longa,longb,longc);//求3个长整数中的最大者C++允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。这就是函数的重载(functionoverlo

2、ading)。即对一个函数名重新赋予它新的含义,使一个函数名可以多用。*4.6函数的重载对上面求最大数的问题可以编写如下的C++程序。例4.5求3个数中最大的数(分别考虑整数、双精度数、长整数的情况)。#includeusingnamespacestd;intmain(){intmax(inta,intb,intc);//函数声明doublemax(doublea,doubleb,doublec);//函数声明longmax(longa,longb,longc);//函数声明inti1,i2,i3,i;cin>>i1>>i2>>i3;//输入3个整数i=max(i1,i

3、2,i3);//求3个整数中的最大者cout<<″i_max=″<>d1>>d2>>d3;//输入3个双精度数d=max(d1,d2,d3);//求3个双精度数中的最大者cout<<″d_max=″<>g1>>g2>>g3;//输入3个长整数g=max(g1,g2,g3);//求3个长整数中的最大者cout<<″g_max=″<a)a=b;if(c>a)a=c;ret

4、urna;}doublemax(doublea,doubleb,doublec)//定义求3个双精度数中的最大者的函数{if(b>a)a=b;if(c>a)a=c;returna;}longmax(longa,longb,longc)//定义求3个长整数中的最大者的函数{if(b>a)a=b;if(c>a)a=c;returna;}运行情况如下:185-76567↙(输入3个整数)56.8790.23-3214.78↙(输入3个实数)67854-912456673456↙(输入3个长整数)i_max=567(输出3个整数的最大值)d_max=90.23(输出3个双精度数的最大值)g_max

5、=673456(输出3个长整数的最大值)上例3个max函数的函数体是相同的,其实重载函数并不要求函数体相同。重载函数除了允许参数类型不同以外,还允许参数的个数不同。例4.6编写一个程序,用来求两个整数或3个整数中的最大数。如果输入两个整数,程序就输出这两个整数中的最大数,如果输入3个整数,程序就输出这3个整数中的最大数。#includeusingnamespacestd;intmain(){intmax(inta,intb,intc);//函数声明intmax(inta,intb);//函数声明inta=8,b=-12,c=27;cout<<″max(a,b,c)=″<

6、a)a=b;if(c>a)a=c;returna;}intmax(inta,intb)//此max函数的作用是求两个整数中的最大者{if(a>b)returna;elsereturnb;}运行情况如下:max(a,b,c)=27max(a,b)=8两次调用max函数的参数个数不同,系统就根据参数的个数找到与之匹配的函数并调用它。参数的个

7、数和类型可以都不同。但不能只有函数的类型不同而参数的个数和类型相同。例如:intf(int);//函数返回值为整型longf(int);//函数返回值为长整型voidf(int);//函数无返回值在函数调用时都是同一形式,如“f(10)”。编译系统无法判别应该调用哪一个函数。重载函数的参数个数、参数类型或参数顺序3者中必须至少有一种不同,函数返回值类型可以相同也可以不同。在使用重载函数时,同名函数的功能应当相同或相近,不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。