C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt

C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt

ID:59448048

大小:165.00 KB

页数:52页

时间:2020-09-18

C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt_第1页
C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt_第2页
C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt_第3页
C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt_第4页
C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt_第5页
资源描述:

《C++面向对象程序设计教程 第4章 运算符重载ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章运算符重载4.1运算符重载的概念运算符重载的概念C++语言允许重新定义已有的运算符,使其完成一些只在该特定类中使用的特定操作,这就是运算符重载如用加法“+”运算符进行两个复数的相加。若有z1=2+3i,z2=4-8i,在数学中,可直接用“+”实现z3=z1+z2,也就是将z1和z2的实部和虚部分别相加,z3=2+4+(3-8)i=6-5i。这时必须实现复数相加。比如用户可以通过定义一个函数来实现复数相加例4.1通过函数实现复数相加示例。//声明复数数classComplex{private://数据成员doublere

2、al;//实部doubleimage;//虚部public://公有函数Complex(doubler=0,doublei=0):real(r),image(i){}//构造函数voidShow()const;//输出复数staticComplexAdd(constComplex&z1,constComplex&z2);//复数加法};voidComplex::Show()const//输出复数{if(image<0)cout<

3、t<

4、Show();//输出z1z2.Show();//输出z2z3=Complex::Add(z1,z2);//z3=z1+z2z3.Show();//输出z3system("PAUSE");//输出系统提示信息return0;//返回值0,返回操作系统}程序运行时屏幕输出如下:2+3i6-5i8-2i请按任意键继续...在Add()函数体中的两行代码可以用“returnComplex(z1.real+z2.real,z1.image+z2.image);”代替,“Complex(z1.real+z2.real,z1.image

5、+z2.image)”的含义是建立一个临时复数对象,它的实部为z1.real+z2.real,虚部为z1.image+z2.image,在建立临时对象的过程中调用了构造函数,语句return将此临时对象作为函数的返回值。运算符重载能否像实数的加法运算一样,直接用加号“+”来实现复数运算呢?例如在程序中直接用“z3=z1+z2”进行运算,这需要对运算符“+”进行重载。运算符重载的方法在实质上就是定义一个重载运算符的函数,在执行被重载的运算符时,系统将调用此函数实现相应的运算。运算符重载本质就是函数的重载。重载运算符的函数的原型

6、如下:返回值类型operator运算符(形参表);例如将“+”用于Complex类的加法运算运算符重载的函数原型可以为:Complexoperator+(constComplex&z1,constComplex&z2);例4.2通过运算符重载实现复数相加的示例。#include//编译预处理命令usingnamespacestd;//使用命名空间std//声明复数数classComplex{private://数据成员doublereal;//实部doubleimage;//虚部public://公有函数

7、Complex(doubler=0,doublei=0):real(r),image(i){}//构造函数voidShow()const;//输出复数friendComplexoperator+(constComplex&z1,constComplex&z2){returnComplex(z1.real+z2.real,z1.image+z2.image);}};voidComplex::Show()const//输出复数{if(image<0)cout<

8、f(image==0)cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。