版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章 重载技术,重载技术是C+的一个特性,它是多态性的一种表现。C+重载主要分为函数重载和运算符重载。函数的重载不仅提高了程序的适应性,也提高了程序代码的复用性。运算符重载就是赋予已有的运算符多重含义,通过重新定义运算符,使它能够针对特定对象执行特定的功能,从而增强C+语言的扩充能力。重载能使程序更加简洁,易读。,10.1 重载函数,函数重载允许用同一个函数名定义多个函数。这样可以简化程序的设计,开发者只需要记住一个函数名就可以完成一系列相关的任务。,10.1.1 重载函数的概念和定义,在C语言中,一个函数只有惟一的一个名字,这其实在实际开发中会变的比较繁琐。例如,设计求绝对值的函数,因为
2、数值的数据类型有整型、长整型、浮点型等,所以需要对不同类型的数据分别设计函数。,10.1.2 重载函数的使用,在调用重载函数时,编译器需要决定调用哪个函数。这是靠重载函数的形参和实参比较决定的。,10.2 运算符重载,C+中预定义的运算符只能针对基本的数据类型,而对运算符进行重载,就可以使用运算符参与用户自定义数据类型的操作。运算符重载是对已有的运算符赋于多重含义,使同一个运算符作用于不同类型数据的行为。使用运算符重载可以使C+代码更直观易读。,10.2.1 运算符重载的需求,在类的定义中,经常需要涉及到一些数据的运算操作。,10.2.2 运算符重载的基本方法和规则,运算符重载是针对新类型数据
3、的实际需要对原有的运算符进行适当的改造行为。C+中的运算符除了几个特殊的之外,都是可以重载的。重载的运算符必须是C+已有的运算符。 1运算符作为成员函数 2运算符作为友元函数,10.2.3 增减量运算符的重载,增量和减量运算符的重载是类似的,下面以增量运算符来说明它们的重载方法和规则。 增量运算符分为前增量和后增量,前增量的返回是引用返回,而后增量则是值返回。使用前增量时,先对对象进行修改,然后再返回该对象。所以对于前增量运算,参数和返回的是同一个对象。使用后增量时,先返回对象原有的值,然后再对对象进行修改。为此,需要创建一个临时对象存放原有的对象,以保存对象的原有值以便返回。所以后增量返回的
4、是原有对象的一个临时拷贝。,10.2.4 转换运算符的重载,大多数程序能处理各种数据类型的信息常常需要将一种类型的数据转换为另外一种类型的数据,赋值、计算、给函数传值以及从函数返回值都可能会发生这种情况。对于内部的类型,编译器知道如何转换类型。开发者也可以用强制类型转换运算符来实现内部类型之间的强制转换。,10.2.5 赋值运算符的重载,在自定义的类中可以重载赋值运算符。赋值运算符重载函数的作用与内置赋值运算符的作用类似,但是需要注意的是,它与拷贝构造函数一样,要注意深拷贝和浅拷贝的问题。在没有深拷贝和浅拷贝的情况下,如果没有指定默认的赋值运算符重载函数,那么系统将会自动提供一个赋值运算符重载函数,10.3 本章实例,定义一个自定义字符类,进行下标运算符重载。,10.4 小结,本章主要讲述函数的重载和运算符的重载,难点是运算符的重载,需要读者不断地深入理解才能掌握。函数重载允许用同一个函数名定义多个函数。这样可以简化程序的设计,开发者只需要记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年护理学:老年护理实践技能
- 胸科手术并发症观察与处理
- 4s店前台绩效考核制度
- 审计存货管理制度
- 京东方审计监察制度
- 中医病房绩效考核制度
- 审计信息专报制度
- 京东专员绩效考核制度
- 外部审计日常管理制度
- 审计工作回访制度
- 《婚礼策划》课件
- 家务劳动安全教育
- 《达利超现实主义》课件
- 小学组织管理与运行
- 曲面造型中基于网格曲面的建模与分析技术
- MOOC 概率论与数理统计-中国矿业大学 中国大学慕课答案
- 工程项目合作方案计划书
- 高炉基本操作制度
- 安徽中元化工集团有限公司2万吨每年二氯异氰尿酸钠资源综合利用联产2万吨每年三氯异氰尿酸项目环境影响报告书
- 《国际共产主义运动史》课程教学大纲
- YY/T 1836-2021呼吸道病毒多重核酸检测试剂盒
评论
0/150
提交评论