大连理工C++10.3 函数与参数传递 (1)

上传人:油条 文档编号:53368746 上传时间:2018-08-30 格式:PPT 页数:10 大小:1.38MB
返回 下载 相关 举报
大连理工C++10.3 函数与参数传递 (1)_第1页
第1页 / 共10页
大连理工C++10.3 函数与参数传递 (1)_第2页
第2页 / 共10页
大连理工C++10.3 函数与参数传递 (1)_第3页
第3页 / 共10页
大连理工C++10.3 函数与参数传递 (1)_第4页
第4页 / 共10页
大连理工C++10.3 函数与参数传递 (1)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《大连理工C++10.3 函数与参数传递 (1)》由会员分享,可在线阅读,更多相关《大连理工C++10.3 函数与参数传递 (1)(10页珍藏版)》请在金锄头文库上搜索。

1、第10章 C+基础,函数与参数传递,函数,函数,定义,声明,调用,类型说明符 函数名( 形式参数表 ) 声明部分 执行语句部分 ,类型说明符 函数名( 形式参数表);,函数名( 实际参数表);,float max(float x,float y)float z;z= xy?x:y;return z; ,float max(float x,float y);,max(3.6,4.8);,参数传递,函数,返回值,调用,void swap(int iA1,int iB1) int iC1;iC1=iA1;iA1=iB1;iB1=iC1; ,int main() int iA=3,iB=4;void

2、swap(int iA1,int iB1);swap(iA,iB);/函数调用cout“iA=“iA“iB=“iB;return 0; ,返回值,int getRand() int iRand;srand(time(0); iRand=rand()%100+1;return iRand; ,int main() int iResult;int getRand();iResult=getRand()%7;coutiResult;return 0; ,在C语言中,为计算不同情形的最大值,需要定义多个不同名称的函数,如: 对于计算两个整数的最大值需要定义函数: I nt maxTwoInt(int

3、a,int b) 对于计算两个浮点数的最大值需要定义函数:float maxTwoFloat(float a, float b) 对于计算三个整数的最大值需要定义函数:int maxThreeInt (int a,int b,int c) 用户需要记住多个计算最大值的函数名,非常不方便,函数重载,C+语言引进函数重载。 在同一作用范围中为多个函数定义(其功能通常是相近的)指定一个共同的函数名,委托编译器根据每一个单独函数的形参个数、类型和位置的差别进行名称区分,并选择合适的函数调用匹配称为函数重载。,重载函数定义举例,int max(int a,int b)double max(double

4、a, double b)调用 max(1.2f, 3.4f) ;会调用参数为double类型的函数,float类型会向double类型转换。,函数默认参数,默认参数也称为缺省参量,函数定义中的每一个参数都可以拥有一个默认值,如果在函数调用中没有为对应默认值的参量提供实参数据,系统就直接使用默认值。注意只能从右往左设定默认参数。如函数定义: int f (int x,long y=10, double z=20) 这样就可以采用几种等价地调用形式: f (3); f (3,10); f (3,10,20);,函数默认参数举例,默认参数函数调用时,遵循参数调用顺序,自左到右逐个匹配,函数定义: v

5、oid mal(int a, int b=3, int c=5) /默认参数 mal(3, 8, 9 ); /不使用默认参数 mal(3, 5); /按从左到右顺序调用,相当于mal(3,5,5); mal(3); /按从左到右顺序调用,相当于mal(3,3,5); mal( ); /错误,因为a没有默认值 mal(3, , 9); /错误,应按从左到右顺序逐个调用,函数调用二义性,当函数重载与默认参数同时使用容易出现二义性: 重载函数定义: int max(int a,int b) int max(int a,int b,int c=5) 调用:max(4,5) ; /二义性错误 调用两个参数的、还是调用三个参数的,两种情形都符合规则,编译系统无法确定,因此出现二义性错误。因此,默认参数与重载函数尽量不要同时采用。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号