(11)--4.1 运算符重载方法.ppt

上传人:奉*** 文档编号:96638174 上传时间:2024-02-01 格式:PPT 页数:13 大小:86.24KB
返回 下载 相关 举报
(11)--4.1 运算符重载方法.ppt_第1页
第1页 / 共13页
(11)--4.1 运算符重载方法.ppt_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《(11)--4.1 运算符重载方法.ppt》由会员分享,可在线阅读,更多相关《(11)--4.1 运算符重载方法.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、运算符重载的概念函数重载函数重载运算符重载运算符重载对C+已提供的运算符已提供的运算符进行重新定行重新定义,赋予它予它们新的含新的含义,实现新的功能,新的功能,使之一名多用。使之一名多用。运算符重载的概念运算符运算符“+”+”的应用的应用5+8 int 加5.8+3.67 float double加“”:C+的位移运算符(右移),流提取运算符运算符运算符“”的应用的应用运算符重载的概念c1=(3+4i)c2=(5-10i)在数学中可以直接用“+”号实现c3=c1+c2,即c3=(3+5,(4-10)i)=(8,-6i)。在在C+C+中如何实现两个复数相加?中如何实现两个复数相加?通过自定义函数

2、实现复数的相加两个复数两个复数c1c1和和c2c2相加相加程序1 自定义函数实现复数的相加 1#include 2 using namespace std;3 class Complex /定定义Complex类 4 public:5 Complex()6 7 real=0;/定定义构造函数构造函数 8 imag=0;9 10 Complex(double r,double i)11 12 real=r;/构造函数重构造函数重载13 imag=i;14 15 Complex complex_add(Complex&c2);/声明复数相加声明复数相加16 void display();/声明声明

3、输出函数出函数17 private:18 double real;/实部部19 double imag;/虚部虚部20;21 Complex Complex complex_add(Complex&c2)/定定义复数相加函数复数相加函数22 23 Complex c;24 c.real=real+c2.real;25 c.imag=imag+c2.imag;26 return c;27 28 void Complex display()/定定义输出函数出函数29 30 cout(real,imagi)real+c2.real;c.imag=this-imag+c2.imag;32 int ma

4、in()33 34 Complex c1(3,4),c2(5,-10),c3;/定定义3个复数个复数对象象35 c3=plex_add(c2);/调用复数相加函数用复数相加函数36 coutc1=;37 c1.display();/输出出c1的的值38 coutc2=;39 c2.display();/输出出c2的的值40 coutc1+c2=;41 c3.display();/输出出c3的的值42 return 0;43 程序1 自定义函数实现复数的相加 c.real=c1.real+c2.real;c.imag=c1.imag+c2.imag;c3=c;运行运行结果果:c1=(3,4i)c

5、2=(5,-10i)c1+c2=(8,-6i)调用方式调用方式不直观、太烦琐。不直观、太烦琐。能否直接用加号“+”来实现复数运算,如c3=c1+c2?程序1 自定义函数实现复数的相加对运算符“+”进行重载运算符重运算符重载的方法的方法 定义一个重载运算符的函数。运算符重载的方法:运算符重载的方法:运算符重运算符重载是通是通过定定义函数函数实现的。运算符重的。运算符重载实质上是函数的重上是函数的重载。运算符重运算符重载的方法的方法重载运算符函数格式重载运算符函数格式例如,重载“+”用于Complex类(复数)的加法运算,函数的原型可为:Complex operator+(Complex&c1,C

6、omplex&c2);函数类型 operator 运算符名称(形参表)对运算符的重载处理 程序程序2 对运算符运算符“+”实行重行重载,实现两个复数相加。两个复数相加。1#include 2 using namespace std;3 class Complex 4 public:5 Complex()6 7 real=0;8 imag=0;9 10 Complex(double r,double i)11 12 real=r;13 imag=i;1415 Complex operator+(Complex&c2);/声明重声明重载运算符运算符+的函数的函数16 void display();

7、17 private:18 double real;19 double imag;20;程序程序2 对运算符运算符“+”实行重行重载,实现两个复数相加。两个复数相加。21 Complex Complex operator+(Complex&c2)/定定义重重载运算符运算符+的函数的函数22 23 Complex c;24 c.real=real+c2.real;/实现两个复数的两个复数的实部相加部相加25 c.imag=imag+c2.imag;/实现两个复数的虚部相加两个复数的虚部相加26 return c;27 28 void Complex display()29 30 cout(rea

8、l,imagi)endl;/输出复数形式出复数形式31 程序程序2 对运算符运算符“+”实行重行重载,实现两个复数相加。两个复数相加。32 int main()33 34 Complex c1(3,4),c2(5,-10),c3;35 c3=c1+c2;/运算符运算符+用于复数运算用于复数运算36 coutc1=;37 c1.display();/输出出c138 coutc2=;39 c2.display();/输出出c240 coutc1+c2=;41 c3.display();/输出出c1+c242 return 0;43 运行运行结果:果:c1=(3,4i)c2=(5,-10i)c1+c2=(8,-6i)编译器解释为 c1.operator+(c2)运算符重载能使用户程序易于编写、阅读和维护小小结运算符重载的概念1运算符重载的方法2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁