面向对象程序设计 9-重载.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计 9-重载

第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.3.1.1 标准类型转换 说明:若使用标准类型转换,因为它是隐 式转换,所以在书写时没有什么痕迹,要记住 转换规则,以免出错! 转换规则: 当char或short类型对象与int类型对象进行 运算时,将char或short类型转换成int类型。 当两个操作对象类型不一致时,在算术运算 前,级别低的自动转换为级别高的类型。 在赋值表达式E1=E2的情况下,赋值运算符 右端E2的结果值需转换为E1类型后进行赋值。 back 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.3.1.2 显式类型转换 说明:方法不同格式就不同。 强制转换法格式: (类型名) 表达式 示列: int i ,j ; //.. cout(float)(i+j); 函数法格式: 类型名(表达式) 示列: int i ,j ; //.. coutfloat(i+j); back * 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 引入重载的目的: 通过为函数和运算符创建附加定义而使它们的名字可以重载,也就是说相同名字的函数或运算符在不同的场合可以表现出不同的行为,实际上是运行的不同函数版本。 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.1 函数重载 定义:两个以上的函数,取同一个名字,只要 使用不同类型的参数或参数个数不同,编译器 便知在什么情况下该调用哪个函数。 示列: ..// int plus{int x,int y}//定义两个整数相加 {return x+y;} float plus(float x,float y)//定义两个浮点数相加 {return x+y;} //.. Void main() {int i=12,j=34; float x1=1.2 ,y1= 4.5; coutplus(i,j)“\n”; coutplus(x1,y1)“\n”;} 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.1.1 构造函数重载 说明:可定义多个构造函数,其实质构造 函数的重载。 示列: Class x{ //.. public: x(); x(int); x(int,char); x(float,char); //..} 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 使用情况 Main() { x a; x b(1); x c(1,’c’); x d (3.5,’d’); }; 注意:在定义多个构造函数时,参数的个数或 类型上必须存在差异,否则在系统调用时会出现 二义性. 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.1.2 类成员函数重载 说明:在类中一般的成员函数也可以重载, 其原则与构造函数相同,重载函数之间靠所包 含的参数的类型与个数的不同进行区分。 示列: ..// class date{ ..// void getdate(char *); void getdate(int *,int *,int *); //..} main() {..// Da2.getdate(datt); Da3.getdate(yy,mm,dd); //..} 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.1.3 类以外的一般函数重载 说明:类以外的一般函数也允许重载,规则 同上。 示列: ..// int plus{int x,int y}//定义两个整数相加 {return x+y;} float plus(float x,float y)//定义两个浮点数相加 {return x+y;} //.. Void main() {int i=12,j=34; float x1=1.2 ,y1= 4.5; coutplus(i,j)“\n”; coutplus(x1,y1)“\n”;} 第九章 重载 1.函数重载 2.运算符重载 3.类型转换 9.

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档