C++语言-函数缺省、重载及模板.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-函数缺省、重载及模板

闫治国 同济大学 地下建筑与工程系 C++语言 函数(2) 1 函数参数缺省 2 函数重载 3 函数模板 本讲内容 C++对C的扩充: 带缺省参数的函数 C++通过在形参表列中对若干个形参指定缺省值,允许实参、形参个数不等 int fun(int a, int b, int c=100); 两种调用方式: fun(10,20,30); //a=10,b=20,c=30 fun(10,20); //a=10,b=20,c=100 1 函数参数缺省 #include iostream.h #include math.h double s(double x , double eps=1e-6) {int n=1; double w=0.0, t=1.0 ; while(fabs(t)=eps) {w+=t; t=t*x/(n++); } return w; } 【例】求下面级数的部分和。精度为: ? ? 1 函数参数缺省 缺省参数的说明必须出现在函数调用之前;或在函数说明中给出缺省值。 函数说明与函数定义中的缺省值不一致时,以函数说明中为准。 缺省参数可以指定多个,但须放在形参表列中的最右端。 例如: void fun(int i, int j, int k, int m=3,int n=4); 假设函数调用语句为: fun(1,2); //错误,至少应有三个实参 fun(10,20,30); //正确,m、n取默认值 fun(10,20,30,40); //正确,m取40 、n取默认值4 fun(10,20,30, ,50); //错误,只能从左至右匹配 1 函数参数缺省 2 函数重载 函数重载(Function Overloading): 当函数的参数类型不同或参数个数不同时,可以用同一函数名定义多个不同的函数 int max(int a,int b,int c){cout“函数A”;} int max(int a,int b){cout“函数B”;} float max(float a,float b){cout“函数C”;} main() {int a=5,b=6; float c=10.5, d=20.3; max(a,b); //函数B max(a,b,10);//函数A max(c,d); //函数C } 注意: 1)通过参数个数、参数类型确定该调用哪个函数; 2)仅有返回值不同不能重载 2 函数重载 函数重载(Function Overloading): 当函数的参数类型不同或参数个数不同时,可以用同一函数名定义多个不同的函数 函数重载(Function Overloading): 重载函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同 重载函数的返回值可以相同或不同 功能相同或相近的函数可应用重载函数的功能 保证函数调用时系统能够区分应调用的函数 2 函数重载 #include iostream.h int abs(int x) {return x0?x:-x; } double abs(double x) {return x0?x:-x; } long abs(long x) {return x0?x:-x; } 2 函数重载 函数重载(Function Overloading): (1)参数类型不同的重载 void main() {int x1=1; double x2=2.5; long x3=3L; coutabs(x1)endl; coutabs(x2)endl; coutabs(x3)endl; } 编译器根据函数参数的类型来确定应该调用哪个函数 函数重载(Function Overloading): (1)参数类型不同的重载 2 函数重载 函数重载(Function Overloading): (2)参数个数不同的重载 2 函数重载 注意:不要同时使用重载函数和缺省参数函数。 函数重载(Function Overloading): (2)参数个数不同的重载 2 函数重载 #include iostream.h int min(int a,int b) {return ab?a:b; } int min(int a,int b,int c) {int t=min(a,b); return min(t,c);} int min(int a,int b,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档