




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计A应用系杨圣洪C+第2讲 为什么使用函数函数的使用过程函数调用堆栈内联函数默认实参函数重载函数模板C+第2讲-为什么使用函数1、分而治之将复杂的问题变成系列简单的问题2、软件复用同一代码可以,可在其他地方使用。3、避免重复代码需时写上函数名可以,从而使程序易于调试C+第2讲 为什么使用函数函数的使用过程函数调用堆栈内联函数默认实参函数重载函数模板C+第2讲-函数调用过程main()函数相当于boss老板,老板叫某个员工worker去干件事,同时给worker基本条件,如基本材料或设计图纸。员工根据基本材料或设计图纸,去完成某件事,完事向老板汇报,事情办得如何。至于员工办事的细节,老
2、板不必知道。当然员工也可以调用其他员工。C+第2讲 为什么使用函数函数的使用过程函数调用堆栈内联函数默认实参函数重载函数模板C+第2讲-函数调用堆栈C+第2讲 为什么使用函数函数的使用过程函数调用堆栈内联函数默认实参函数重载函数模板C+第2讲-函数调用堆栈当老板执行到d=root(a,b,c)时,将此条语句在内存的地址R1保存到堆栈中,同时将a,b,c的值保存起来,跳转到root()函数所在位置,执行该函数的首条语句。C+第2讲-函数调用堆栈当执行到“d=delta(a,b,c);”时,将此时内存地址R2保存到栈中,将a,b,c的值保存到栈中,跳转到delta()函数所在位置,执行其首条语句。
3、C+第2讲-函数调用堆栈当将判别式的平方求出来后,从该栈顶取出R2值,执行“d=delta(a,b,c);”的后一条语句,即“if (d=0)”。开始求平方根C+第2讲-函数调用堆栈求出平方根后,从该栈顶取出R1值,执行“d=root(a,b,c);”的后一条语句,即“cout判别式的平方根:dendl;”,并一直执行到最后。C+第2讲-内联函数函数调用因为出入栈,增加执行时间被执行函数的代码复制到调用处,每处有副本特别适合于代码很短的函数。C+第2讲-默认实参函数原型中给参数一个默认值,在调用该函数时,这些参数可以不给值。C+第2讲-函数重载默认实参是指调用函数时所给实参少于形参数函数名称相
4、同,只参数有所不同,如一个为整数,另一个为实数,第三个为char,函数功能相同或相似,可不同,但是相似或相同。编译器在检查函数时,根据调用给出的参数个数,参数数据类型、参数类型的顺序来选择的函数。C+第2讲-函数重载C+第2讲-函数模板重载的函数之间,只要函数名相同,其他参数的个数、类型、参数的先后顺序不同。如果参数的个数不变,参数的次序不变,功能相同的,只需要写一个通用函数编译器会根据调用函数所使用的各参数类型,决定生成哪个版本的函数,此方法称为“函数模板”。C语言中宏定义define可实现,但编译器并不对宏定义进行类型检测。在预编译时直接将其展开,易错,考试点,也是广大学生的痛点,C+解决了这个痛点。如前面的例题中,除第4个重载函数是求数的2倍,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CNAS-CC72-2006 《人员认证机构通 用要求》的应用指南
- 财会基础知识培训课件
- 工程施工项目合作协议书双方
- 2025年高档生物显微镜合作协议书
- 跨境研发工作简历模板
- 离婚协议书 范本
- 2025年GPS高空探测系统合作协议书
- 路基填土冬季施工方案设计
- 纳税筹划在房地产公司财务管理中的实践分析
- 常见的酸和碱第二课时教学设计-2024-2025学年九年级化学人教版(2024)下册
- GB/T 22492-2008大豆肽粉
- 刻度尺读数练习(自制)课件
- 四年级下册美术课件 4纸卷魔术|苏少版
- 三年级下册竖式脱式计算
- 《财务风险的识别与评估管理国内外文献综述》
- 海口市存量房买卖合同模板(范本)
- 经典文学作品中的女性形象研究外文文献翻译2016年
- 高炉煤气安全知识的培训
- 2008 年全国高校俄语专业四级水平测试试卷
- 需求供给与均衡价格PPT课件
- 金融工程郑振龙课后习题答案
评论
0/150
提交评论