- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C面向对象程序设计》谭浩强第一章
* #include iostream using namespace std; //默认使用std标准库名template typename T; T max (T a, T b, T c) // 建立函数模板时,只需要 { if (ba) a=b; // 将函数类型、参数类型 int 换成 T 就行。 if (ca) a=c; // 即用虚拟的类型名T代替实际的类型 return a; } int main( ) { int i = 8, j = 3, k = 4, h; long m = 1, n = 2, p = 3, q; h = max ( i, j, k); q = max ( m, n, p); cout “int_h = “hendl; cout “long_q = “qendl; return 0;} 类型参数可以有多个:template typename T1, typename T2 由此程序可以看到,函数模板比函数重载更方便,但模板只适用于函数的参数个数相同而类型不同,且函数体相同的情况。不满足这种情况时,就只能使用函数重载。 注意 1.6 有默认参数的函数 背景:一般情况下,函数调用时,形参从实参那里取得值。因此要求实参的个数和类型应该与形参相同。但是,有时候,多次调用同一函数时用的是同一实参数,或者调用时还不好确定实参数。C++提供一个简单的解决办法,即给参数一默认值。这样当不提供实参数时,形参就用默认参数作为参数值。 示例:有一函数声明为: float area ( float r=6.5 ); 调用area 函数时,如果不提供实际参数给r,r 就以默认数值 6.5 作为参数顶用area: area ( ); // 相当于 area (6.5 ); 注意: 1) 当有多个参数时,如果只有部分参数有默认值,则指定了默认值的参数必须放在参数表的最右边,否则出错。因为实参与形参的结合是从左至右顺序进行的,第一个实参必须给第一个形参,第二个实参必须给第二个形参…。 1.6 有默认参数的函数 声明: void area (float x1, int x2 = 1, char x3 = ‘a’); 调用:area ( 1.2, 3, ‘b’); // 形参值全部由实参得到 area (1.2, 3); // 最后一个参数取自默认值 area (1.2 ); // 最后两个参数取自默认值 area ( ); // 出错,第一个形参没有实参,也没有默认值 2) 一个函数不能既作为重载函数,又作为默认参数函数。因为当调用函数时如果少写一实际个参数,系统无法判断是利用重载函数还是利用默认参数函数。 1.7 变量的引用(reference) 什么叫引用?变量的引用就是变量的别名。建立引用的作用,是为一个变量另取一个名字,以便在需要的时候间接地引用该别名。 如何使用引用?假如有一个变量a , 想给它另取一个别名b ,可以这样写: int a ; int b = a; // 声明b 是一个整形变量的引用变量,并且被初始化为a 此处 不代表取地址,只是“引用声明符”。对一个变量声明一个引用,并不另外开辟内存空间。b和a 代表同一个变量单元。 引用不是独立的变量,编译系统不给它分配存储单元。因此建立引用只有声明,没有定义,只是声明和某一个变量的关系。 1.7 变量的引用(reference) 声明了一个变量的引用后,在本函数执行期间,该引用一直与代表的变量相联系,不能再作为另一个变量的别名。请看如下示例: int a, b ; int c = a; int c = b; // 错误,c 已经是a 的引用,不能再作为另一个变量b的引用 引用不是独立的数据类型,它必须与某一种类型的数据相联系: int x; // 错误, 没有指定 x 代表哪个变量 示例: #include iostream using namespace std; int main( ) { int a = 10; int b = a; a = a * a; cout “b =“ b endl; return 0; } 运行结果:b = 100 1.7 变量的引用(reference) 将引用作为函数参数:C++之所以增加“引用”,主要是利用它作为函数参
您可能关注的文档
- “守规矩防风险建设合规银行”专题学习心得体会.doc
- [高中教育]高中生军训国防教育课件.ppt
- “Seeing That Eye” Tragedy and the Vision of Vision in John Berger's Pig Earth.pdf
- “资本主义的基本矛盾与经济危机”教学“三部曲”.doc
- [高考]2012年全国高考物理试题解析集电子书全国14套.doc
- ● 研究报告:天相投顾-2009年1季度基金重仓持有汽车及配件行业情况分析-090422.pdf
- “中国风”维密时装秀的课前展示_图文.ppt
- ☆学习档案的建立.ppt
- 《 XXX装饰公司设计师渠道公关执行方案(DOC 21页) 》.doc
- [高中教育]学习鉴赏美术作品课件.ppt
- 《2我是家里的开心果课件》小学品德与生活教科2001课标版一年级上册课件41537.ppt
- 《2 爸爸、妈妈抚育我课件》小学品德与社会北师大版三年级上册5429.ppt.ppt
- 《change the world》--岸部真明指弹(独奏)吉他谱.pdf
- 《19 熊猫妈妈听电话课件》小学语文沪教版一年级下册49059.ppt.ppt
- 《Unit 1 Festivals around the world 课件》高中英语人教版必修336256.ppt.ppt
- 《CRM客户关系管理制度范本》(DOC 7P).pdf
- 《Unit 1 Festivals around the world 课件》高中英语人教版必修336369.ppt.ppt
- 《2我是家里的开心果课件》小学品德与生活教科2001课标版一年级上册课件41562.ppt
- 《Unit 4 Where is Easter?课件》小学英语人教(PEP)2011课标版三年级起点五年级下册课件32437.ppt.ppt
- 《Unit 4 Where is Easter?课件》小学英语人教(PEP)2011课标版三年级起点五年级下册课件32480.ppt.ppt
文档评论(0)