第四章函数、内联函数、函数重载与默认参数ppt课件.ppt

第四章函数、内联函数、函数重载与默认参数ppt课件.ppt

ID:58670590

大小:177.00 KB

页数:72页

时间:2020-10-05

第四章函数、内联函数、函数重载与默认参数ppt课件.ppt_第1页
第四章函数、内联函数、函数重载与默认参数ppt课件.ppt_第2页
第四章函数、内联函数、函数重载与默认参数ppt课件.ppt_第3页
第四章函数、内联函数、函数重载与默认参数ppt课件.ppt_第4页
第四章函数、内联函数、函数重载与默认参数ppt课件.ppt_第5页
资源描述:

《第四章函数、内联函数、函数重载与默认参数ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章函数、内联函数、函数重载与默认参数面向对象程序设计(C++)第四章函数和作用域4.1函数的定义和声明4.2函数的调用和参数传递方式4.3函数的默认参数4.4内联函数4.5函数重载4.6函数的作用域4.1函数的定义和声明函数:本质上是一段参数化的共享代码。4.1.1函数的定义#includedoublesum(doublex,doubley){returnx+y;}voidmain(){doublea,b;cout<<“Inputdoubleaandb:”cin>>a>>b;dou

2、blesum=sum(a,b);cout<<“sum=”<<函数名>(<参数表>){〈若干条语句〉}4.1.2函数的声明intadd(int,int);voidmain(){inti=10,j=20;…;j=add(i,j);…;}intadd(inta,intb){return(a+b);}“一遍扫描”的需要。原则:定义在先,调用在后,调用前可以不必声明;定义在后,调用在前,调用前必须声明。<类型><函数名>(<参数表>);4.2函数的调用与参数传递函数调用语句中的函数名经编

3、译后变成函数的入口地址!4.2.1函数的调用方法语法:〈函数名〉(〈实参表〉)c=sum(a,b);swap(&a,&b);关键:“虚实结合”的问题!即:实在参数的值如何传递给形式参数?对形式参数的值的改变是否影响实在参数?4.2.1.1函数的调用和返回序列调用序列:1.分配函数局部空间(活动记录)2.参数传递3.保存返回地址4.控制转移5.执行函数返回序列:1.返回值传递2.控制转移3.返回主调函数4.2.2参数传递实参-- 形参值传递:把实际参数的值复制给形式参数,也就是说,形参和实参是两个不同的内存

4、空间。函数所处理的仅仅是实际参数的一个拷贝。引用传递:把实际参数的地址传递给形式参数,也就是说,形参和实参实际上是同一个内存空间。函数通过对形式参数的处理来达到对实际参数进行加工的目的。4.2.2.1传值调用-传值#includevoidswap1(intx,inty){inttemp;temp=x;x=y;y=temp;cout<<“x=”<

5、

6、)a,b的值被交换5959955&a&b传值vs传指针本质上都是值传递;适用于:当需要将一个类的大的对象作为参数传递给函数时;当参数值必须被修改后返回。思考题1voidGetMemory(char*p){p=(char*)malloc(100);}voidTest(void){char*str=NULL;GetMemory(str);strcpy(str,"helloworld");printf(str);}请问运行Test函数会有什么样的结果?答:程序崩溃。因为GetMemory并不能传递动态内存,Test

7、函数中的str一直都是NULL。strcpy(str,“helloworld”);将使程序崩溃。16《面向对象程序设计》中国科技大学计算机系马建辉思考题2请问运行Test函数会有什么样的结果?char*GetMemory(void){charp[]="helloworld";returnp;}voidTest(void){char*str=NULL;str=GetMemory();printf(str);}答:可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是NULL,但其原先的

8、内容已经被清除,新内容不可知。18《面向对象程序设计》中国科技大学计算机系马建辉思考题3请问运行Test函数会有什么样的结果?voidGetMemory(char**p,intnum){*p=(char*)malloc(num);}voidTest(void){char*str=NULL;GetMemory(&str,100);strcpy(str,"hello");printf(str);}答:(

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

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

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