C++程序设计(一)培训课件.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
返回引用的函数 在函数返回引用时,函数调用可以作为左值(l-value),左值是可以出现在赋值号(=)左边的表达式。 int g(int x) { x++; return x; } int main() {//这个程序在C++中可以正确编译 int z = 6; g(z) = 5; //z的值是什么? } 精品文档 函数名重载 在C语言中,每个函数都必须有惟一的名字。如果两个函数功能相同,仅仅参数类型不同,也不能例外。 int abs( int a) {//计算整数的绝对值 if ( a = 0 ) return a; return -a; } float fabs( float a) {//计算实数的绝对值,要采用不同的函数名 if ( a = 0 ) return a; return -a; } int main() { int b = -5; float c = -5.3; b = abs(b);//区别对待 c = fabs(c);//麻烦 c = abs(c); //c=? } 精品文档 函数名重载 C++中允许两个函数使用相同的名字。一个名字,有了多重意义,是为重载。 同一个函数名对应多个版本,C++ 编译器自动选择正确的版本,根据 实参的类型和个数判别 int abs( int a) {//计算整数的绝对值 if ( a = 0 ) return a; return -a; } float abs( float a) {//计算实数的绝对值,函数名相同,C++允许 if ( a = 0 ) return a; return -a; } int main() { int b = -5; float c = -5.3; b = abs(b); c = abs(c);// c=? } 精品文档 函数名重载 函数返回类型不能作为重载的判别依据,因为函数调用可以忽略返回值,例如: int f( int );//这样的函数重载不允许 float f( int ); …… int a ; f(a); //错误, C++不能判别哪个函数将被调用 精品文档 函数参数的默认值 在C++中,如果需要多次用同样的参数值去调用函数,可将此参数值指定为函数参数的默认值,从而不必每次调用时都给出这个参数值。调用时如果没有给定参数值,则使用默认值。 void delay(int loops) { //通过循环而达到等待一段时间 for ( int i = 0; i loops; i++ ); //的目的,等待时间的长短通过 } //设定循环次数确定 int main() { …… delay(1000);…… delay(1000);…… delay(1000);…… …… } 精品文档 函数参数的默认值 在对函数进行声明时,C++允许给函数参数设定默认值,如: void delay( int loops = 1000 ); 在调用时,如果没有提供参数,则使用默认值,如: delay();// 即delay(1000 ); 默认参数一般应在函数声明中给出,若没有函数声明,也可以在函数定义中给出。如: void delay( int loops = 1000 ); void delay(int loops) { //此时,函数定义中不能再有默认值 for ( int i = 0; i loops; i++ ); } 如果函数中有多个默认参数,必须按照从右向左的顺序定义,如: void func(int a, int b=2, int c=3, int d=4 ); void func(int a=1, int b, int c=3, int d=4 ); //错误 func(10 );// func(10, 2, 3, 4 ) func(10,20 ); // func(10, 20, 3, 4 ) func(10,20,30 ); // func(10, 20, 30, 4 ) 精品文档 C++程序设计(一) 常宝宝 北京大学计算机科学与技术系 chbb@pku.edu.cn 精品文档 参考书 《C++程序设计教程》 钱能 主编 清华大学出版社 Thinking in C++, Volume 1 Bruce Eckel 机械工业出版社 Data Structures and Program Design Robert L. Kruse Alexander J. Ryba 高等教育出版社 精品文档 关于C++ C++是一种程序设计语言 C++和C的关系: C是C++的子集

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档