C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt

C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt

ID:50318859

大小:777.50 KB

页数:82页

时间:2020-03-08

C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt_第1页
C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt_第2页
C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt_第3页
C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt_第4页
C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt_第5页
资源描述:

《C++面向对象程序设计 教学课件 作者 陈维兴 陈昕 C++邮电-7.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章运算符重载7.1运算符重载概述7.2运算符重载函数作为类的友元函数和成员函数7.3前置运算符和后置运算符的重载7.4重载插入运算符和提取运算符7.5不同类型数据间的转换本章主要内容7.1运算符重载概述用于完成“+”、“-”、“*”、“”等操作的函数为运算符函数。C++规定运算符函数名为:operator+operator-operator*operator等统称为:operator@(@--要重载的运算符)运算符函数名两个或者两个以上的运算符函数共用一个运算符函数名为运算符函数重载。C++系统已经预先编好了将两个基本数据类型相加的的运算符函数,可以直接使用它们。1.求两个整数相加,

2、例如:inti=2+3;2.求两个双精度数相加,例如:doubled=2.222+3.333;运算符函数重载调用预先编好的将两个整型数相加的的运算符函数调用预先编好的将两个双精度数相加的的运算符函数C++系统预先编好的运算符函数不能完成将两个对象的相加工作。例如:有一个复数类complex:classcomplex{public:doublereal,imag;complex(doubler=0,doublei=0){real=r;imag=i;}};实现两个对象相加的运算符函数若要把类complex的两个对象com1和com2加在一起:intmain(){complexcom1(1.1,2

3、.2),com2(3.3,4.4);complextotal;total=com1+com2;//错误//…return0;}C++系统预先编好的运算符函数不能将两个对象的相加解决办法:用户自己编写一个实现两个对象相加的运算符函数,例如:intmain(){complexcom1(1.1,2.2),com2(3.3,4.4);complextotal;total=com1+com2;//…return0;}就能将类complex的两个对象com1和com2相加complexoperator+(complexco1,complexco2){…}将类complex的两个对象相加的运算符函数ope

4、rator+():complexoperator+(complexco1,complexco2){complextemp;temp.real=co1.real+co2.real;temp.imag=co1.imag+co2.imag;returntemp;}调用语句:total=operator+(com1,com2);或:total=com1+com2;就能将类complex的两个对象com1和com2相加例7.1-1将两个complex类对象相加。#includeusingnamespacestd;classcomplex{public:doublereal,imag

5、;complex(doubler=0,doublei=0){real=r;imag=i;}};complexoperator+(complexco1,complexco2){complextemp;temp.real=co1.real+co2.real;temp.imag=co1.imag+co2.imag;returntemp;}运算符函数operator+()main(){complexcom1(1.1,2.2),com2(3.3,4.4),total1,total2;total1=operator+(com1,com2);cout<<"real1="<

6、<<"imag1="<classcomplex{public:doublereal,imag;complex(doubler=0,doublei=0){real=

7、r;imag=i;}};complexoperator+(complexco1,complexco2){complextemp;temp.real=co1.real+co2.real;temp.imag=co1.imag+co2.imag;returntemp;}运算符函数operator+()例7.1-1是一个类外定义的运算符函数,只能访问公有数据成员,而不能访问类的私有数据成员。公有的数据成员例7.1-1

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

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

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