




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十三讲:运算符重载,杨章伟e-mail:jtclass,课程内容安排,运算符重载简介运算符重载的形式特殊运算符的重载类类型转换综合练习思考和习题,运算符重载简介,简单来说,运算符重载是实现编译时的多态性的另外一种形式。运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时,导致不同类型的行为。运算符重载的实质是函数重载。事实上,C+语言中的每一个运算符对应着一个运算符函数,在实现过程中,把指定的运算表达式中的运算符转化为对运算符函数的调用,而表达式中的运算对象转化为运算符函数的实参,这个过程是在编译阶段完成的。,运算符重载的特点,尽管运算符重载是一种特殊的函数重载,但相比函数重载,运算符重载有着自身的一些特点。使用operator关键字对重载函数进行标识和定义。运算符有3种形式,即中缀、后缀、前缀,它们的operator表示形式如表13-1所示。,可重载的运算符,需要读者注意的是,并不是所有的运算符都能被重载,下班列出了可被重载的运算符。,运算符重载的形式,运算符的重载形式有两种:一种是重载为类的成员函数,一种是重载为类的友元函数,,重载为类的成员函数,将运算符重载为它将要操作的类的成员函数,称为成员运算符函数。实际使用时,总是通过该类的某个对象访问重载的运算符。一般来说,成员运算符函数在类内进行声明,在类外进行定义。成员运算符在类内声明的一般形式为:operator(参数表);在类外定义的一般形式为:operator(参数表)函数体,运算符重载为类的友元函数,将重载的运算符函数定义为类的友元函数,称为友元运算符函数。友元运算符函数不是类的成员,其在类内声明原型,在类外定义函数本身。由于友元运算符函数不是类的成员函数,不属于任何一个类对象,所以没有this指针,因此,重载双目运算符时要有两个参数,重载单目运算符时只要一个参数就可以了。一般来说,友元运算符函数在类内声明的一般形式为:friendoperator(参数表);在类外定义的一般形式为:operator(参数表)函数体,特殊运算符的重载,“+”和“-”的重载赋值运算符“=”的重载下标运算符“”的重载,类类型转换,类类型是指某个对象的数据类型为类,而不是标准的数据类型。在C+中,标准的数据类型与类类型之间的转换有三种方法:通过构造函数转换:通过构造函数能将标准数据类型向类类型转换,但不能将类类型转换为标准类型。通过类类型转换函数转换:要将类类型转换为标准数据类型时,需要采用显式类型转换机制,定义类类型转换函数。通过运算符重载实现类型转换:可以实现标准类型的数据与类对象之间的运算。其中,通过类类型转换函数转换需要定义一个类的类型转换函数。一般来说,C+中定义一个类的类型转换函数的形式为:operatortype()/returntype类型的数据/返回type类型的对象,综合练习,该范例关于给复数运算重载复数的四则运算符。复数由实部和虚部构造,可以定义一个复数类,然后再在类中重载复数四则运算的运算符。,思考和习题,C+中为什么要支持运算符重载,其好处如何体现?运算符重载的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年母婴产品市场消费升级背景下的品牌竞争策略与品牌忠诚度提升研究报告
- 中医现状面试题及答案
- 成都高新未来科技城发展集团有限公司招聘笔试真题2024
- 七年级物理考试题及答案
- 平版制版题库及答案
- 陪玩团审核考试试题及答案
- 安全规程题目及答案
- TIA的题目及答案
- 2025年二手交易平台信用评价标准与评价方法研究
- 2025年干细胞治疗在神经系统疾病临床应用中的精准医疗探索报告
- 旋风分离器效率计算
- 温硝化制硝基苯装置的改进
- 保教知识与能力幼儿园课件
- 财务部半年度述职汇报PPT模板
- 药品种类清单
- 公共基础知识(社区工作者基础知识)试题(附答案)
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- 《电业安全工作规程》
- 卡西欧gw5600说明书
- 中兴NGN培训教材 MSG9000结构原理介绍课件
评论
0/150
提交评论