c++程序设计简明教程2eppt 第6章运算符重载

c++程序设计简明教程2eppt 第6章运算符重载

ID:1474343

大小:196.00 KB

页数:13页

时间:2017-11-11

c++程序设计简明教程2eppt  第6章运算符重载_第1页
c++程序设计简明教程2eppt  第6章运算符重载_第2页
c++程序设计简明教程2eppt  第6章运算符重载_第3页
c++程序设计简明教程2eppt  第6章运算符重载_第4页
c++程序设计简明教程2eppt  第6章运算符重载_第5页
资源描述:

《c++程序设计简明教程2eppt 第6章运算符重载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章C++运算符的重载运算符是一些系统预定义的函数名称即用一些特定的符号表示各种运算每个运算符对运算数据都有一定要求。例如:“+”运算符只能对int、double等类型进行加法运算。运算符重载是让运算符能够对新定义的数据类型进行运算。1运算符重载含义例如:dt是date类对象,语句dt++错误。因为date类是新数据类型,其中没有定义“++”运算符。classdate{intmo,da,yr;public:date(intm,intd,inty){mo=m;da=d;yr=y;}};voidmain(){datedt(1,2,99)

2、;dt++;//错误语句}2C++运算符重载注意事项(1)一般来说,不改变运算符原有含义,只让它能够对新的数据类型进行计算。例如,重载“+”运算符后,它的功能还是进行加法运算。(2)重载运算符时,不能改变运算符原有的优先级别,也不能改变运算符需要的操作数的数目。(3)有些运算符不能进行重载。如“.”类成员运算符、“*”类指向运算符、“::”类作用域分解运算符、“?:”条件运算运算符。(4)不能人为定义新的运算符,只能使用系统提供的原有运算符。3二元算术运算符重载为类的成员函数可以将运算符重载为类的成员函数。实现运算符功能的成员函数称成

3、员运算符函数或运算符函数。在类中定义运算符函数时应注意以下问题:(1)对于一元运算符函数,用友元函数重载运算符时,需要声明一个形式参数。若用成员函数重载运算符时,则不能再声明形式参数,这个形式参数由成员函数的this指针提供。(2)对于二元运算符函数,用友元函数重载运算符时,需要声明二个形式参数。若用成员函数重载运算符时,则需要声明一个形式参数,这个形式参数表示运算符的右操作数,左操作数由成员函数的this指针提供。4程序6.1成员运算符函数举例日期类date重载“+”运算符,实现日期加上一个天数,得到新日期。staticintdys

4、[]={31,28,31,30,31,30,31,31,30,31,30,31};classdate{intmo,da,yr;public:date(intm,intd,inty){mo=m;da=d;yr=y;}voiddisplay(){cout<dys[dt.mo-1]){day-=dys[dt.mo-1];if(++dt.mo==13){dt.mo=1

5、;dt.yr++;}}dt.da=day;returndt;};voidmain(){dateolddate(2,20,99);datenewdate;newdate=olddate+21;newdate.display();}程序输出结果:3/13/995重载为类的友元函数程序6.2用友元函数重载运算符举例。staticintdys[]={31,28,31,30,31,30,31,31,30,31,30,31};classdate{intmo,da,yr;public:date(intm,intd,inty){mo=m;da=d;y

6、r=y;}voiddisplay(){cout<dys[dt.mo-1]){day-=dys[dt.mo-1];if(++dt.mo==13){dt.mo=1;dt.yr++;}}dt.da=day;returndt;}};dateoperator+(intday,date&dt){dt=dt+day;returndt

7、;}voidmain(){dateolddate(2,20,99);datenewdate;newdate=21+olddate;newdate.display();}程序输出结果:3/13/996关系运算符重载程序重载关系运算符“<”举例。classdate{intmo,da,yr;public:date(intm,intd,inty){mo=m;da=d;yr=y;}voiddisplay(){cout<

8、urndt1.yr

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

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

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