- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 函数及引用
* 陕西理工学院 计算机系 《C++程序设计》 第 * 页 第2章 函数与引用 2.1 函数概述 2.2 函数重载 2.3 内联函数 2.4 具有默认参数值的函数 2.5 引用 小结及练习题 第2章 函数与引用 教学目的 了解简单的C++程序的特点; 掌握函数重载; 掌握内联函数与一般函数的区别 了解参数特殊的函数 掌握引用,区分引用调用与值调用的区别. 教学重点与难点 本章重点: 函数重载; 内联函数; 参数特殊的函数 引用。 本章难点 : 函数重载; 内联函数与一般函数的区别; 引用调用与值调用的区别 第2章 函数与引用 2.1 函数概述 C++语言程序的结构特点: 程序整体由一个或多个称为函数的程序块组成 每个函数都具有各自独立的功能和明显的界面 2.1 函数概述 问题1:函数是什么? 就是编写完成函数功能的程序块 问题2:函数定义的一般格式? 函数值类型 函数名(形式参数表 ) { 函数体 } 问题3:函数返回值类型? 数值类型、指针类型、void类型 2.1 函数概述 2.2 函数重载 函数的重载又称函数名重载,是指同一个函数名可以有多个函数实现,或者说实现不同功能的函数可以具有相同的函数名。 两个条件 参数的个数不同 参数的类型不同 一组参数和返回值不同的函数共用一个函数名。 2.2 函数重载 当某个函数中调用到重载函数时,编译器会根据实参的类型去对应地调用相应的函数。匹配过程如下: (1)如果有严格匹配的函数,就调用该函数; (2)参数内部转换后如果匹配,调用该函数; (3)通过用户定义的转换寻求匹配。 2.2 函数重载 例2-1: void print(double); void print(int); void func(){ print(1); print(1.0); print(double); print(3.1415f); pirnt(double); } 2.2 函数重载 例2-2 利用参数类型的不同实现重载函数。 #includeiostream using namespace std; int Abs(int x) { cout调用函数Abs(int).\n; return x=0 ? x : -x; } double Abs(double x) { cout调用函数Abs(double).\n; return x=0 ? x : -x;} void main () { cout-20的绝对值是:Abs(-20)endl; cout-111.11的绝对值是:Abs(-111.11)endl; } 2.2 函数重载 int max(int a,int b); int max(int a,int b,int c); int max(int a,int b,int c,int d); void main () { coutmax(3,5)endl; coutmax(-7,9,0)endl; coutmax(23,15,3,6)endl;} int max(int a,int b) { return ab ? a : b; } int max(int a,int b,int c) { int t=max(a,b); return max(t,c);} int max(int a,int b,int c,int d) { int t1=max(a,b); int t2=max(c,d); return max(t1,t2);} 例2-3 利用参数个数不相同实现重载函数。 2.2 函数重载 定义重载函数需要注意以下两点: 1)定义的重载函数必须具有不同的参数个数或不同的参数类型,只有这样编译系统才能根据不同的参数决定调用哪一个函数版本。 2)仅仅是函数返回值不同并不能区分两个函数,因此不能根据函数的返回值定义函数的重载,否则会发生二义性的错误。 例如: int sum(int a) {…..} void sum(int a) { ……} 2.2 函数重载 2.3 内联函数 将一个函数声明为内联函数时,只要在函数定义前加关键字inline即可,格式如下: ? inline 类型 函数名(《参数表》) {
文档评论(0)