- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明: 重载运算符是由相应函数实现的,何必对运算符重载呢? 答:类的声明和使用是分离的,所以对用户方便。 运算符重载后,其原有的功能仍保留; C ++允许用户自定义新类型,所以必须允许运算符重载,以扩大C++已有运算符的使用范围,使其能作用于类对象,进行赋值运算、关系运算、逻辑运算和输入输出运算。 C++没有为类对象重新定义一批新运算符,而是,对现有运算符进行重载。 * 什么是运算符重载 运算符重载的方法 重载运算符的规则 运算符函数作类成员函数和友元函数 重载双目运算符 重载单目运算符 重载插入运算符和提取运算符 不同类型数据间的转换 * 第四章运算符重载 本章要点 介绍运算符重载的概念,指出运算符重载的实质就是函数重载,给出运算符重载函数定义的一般格式。通过对两个复数相加运算符重载的例子,我们要讲解运算符重载函数作为类的成员函数和友元函数的方法。最后分别对双目运算符和单目运算符进行了重载。特别给出单目运算符的前置自增和后置自增的区别。转换构造函数和类型转换函数是本章的难点。 本章内容包括: 什么是运算符重载 运算符重载的方法 运算符重载的规则 成员函数和友元函数重载 重载双目运算符 重载单目运算符 重载流插入和提取运算符 不同类型数据间的转换 4.1 什么是运算符重载 (operator overloading) 前面介绍了函数重载,同一个函数名可以代表不同功能的函数。 运算符也可以重载。 5+8,5.8+3.67 “+”运算符重载能适用 于int、float和double型 问题:将“+”运算符重载为复数相加?实现:c3=c1+c2 首先,定义一个专门的函数来实现复数相加 例4.1通过函数来实现复数相加 #include iostream using namespace std; class Complex {public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex complex_add(Complex c2); void display(); private: double real; double imag; }; Complex Complex::complex_add(Complex c2) {Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } void Complex::display() {cout(real,imagi)endl;} int main() {Complex c1(3,4),c2(5,-10),c3; c3=plex_add(c2); coutc1=; c1.display(); coutc2=; c2.display(); coutc1+c2=; c3.display(); return 0; } 构造函数重载 复数相加函数,返回值类型为类类型 调用 c.real=real+c2.real; c.imag=imag+c2.imag; c.real=this-real+c2.real; c.imag=this-imag+c2.imag; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; c3=plex_add(c2); 4.2 运算符重载的方法 运算符重载是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,即执行表达式就是调用函数的过程。运算符重载是通过定义函数实现的,运算符重载实质上是函数的重载。 一般格式: 函数类型 operator 运算符名称(形参表列) {对运算符的重载处理} 例如:复数加法的函数原型: Complex operator + (Complexc1,Complex c2) 函数名 例4.2重载运算符用于复数相加 #include iostream using namespace std; class Complex {public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator + (Complex c2); void display(); private: double real; double imag; }; Complex Complex::ope
您可能关注的文档
- 社会主义市场经济PPT讲述.ppt
- 社会主义市场经济(2016必威体育精装版)讲述.ppt
- 社会主义市场经济2016二轮MicrosoftPowerPoint演示文稿讲述.ppt
- 礼貌显魅力上课讲述.ppt
- 社会主义核心价值观主题班会3——ppt讲述.ppt
- 社会主义市场经济(定稿)讲述.ppt
- 社会主义法治理念与法制建设在线考试题第三套讲述.doc
- 社会主义市场经济(2015年必威体育精装版版公开课)讲述.ppt
- 社会事业部工分制方案讲述.doc
- 社会主义核心价值观之爱国作文指导讲述.pptx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2025年江西管理职业学院教师招聘考试笔试备考题库.docx VIP
- 2024中国中信金融资产管理股份有限公司人力资源部(党委组织部)社会招聘笔试模拟试题及答案解析.docx VIP
- 高考英语完型填空汇总.doc VIP
- 合作经营合同(2020).docx VIP
- 关节活动度测定ppt课件.pptx VIP
- 体育教师专业发展计划.doc VIP
- 影视产业概论 教学大纲.docx VIP
- 明星志愿3群星合辑(星光圆舞曲+银色幻想曲)攻略-详细整理版精要.docx
- Q-CR 570-2017 电气化铁路接触网用力矩控制式胶粘型锚栓.docx VIP
- 煤矿机电事故专项应急预案及现场处置方案.pdf VIP
文档评论(0)