《C++面向对象程序设计》谭浩强幻灯片.ppt

《C++面向对象程序设计》谭浩强幻灯片.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《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++之所以增加“引用”,主要是利用它作为函数参

文档评论(0)

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

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

1亿VIP精品文档

相关文档