C++类重载算数关系操作符1

C++类重载算数关系操作符1

ID:37503342

大小:101.03 KB

页数:8页

时间:2019-05-24

C++类重载算数关系操作符1_第1页
C++类重载算数关系操作符1_第2页
C++类重载算数关系操作符1_第3页
C++类重载算数关系操作符1_第4页
C++类重载算数关系操作符1_第5页
资源描述:

《C++类重载算数关系操作符1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++类重载算数关系操作符学习各种外挂制作技术,马上去百度搜索"魔鬼作坊"点击第一个站进入、快速成为做挂达人。本来是可以一讲就把重载全部讲完的,因为昨天太晚了,很困,所以就只讲了重载输入输出操作符,今天概念性的东西就不说了,直接看上一讲的《浅谈C++类(8)--重载输入输出操作符》吧,今天就补充一下其他的操作符的重载,其实都差不多,不过我感觉自己实际输入调试过后和没有调试只懂概念有个印象是完全不一样的。我一次把除了下标和成员访问操作符以外的操作符都写在下面这个例子里面,你自己分析和调试吧,我在主程序里面只调试了一部分。

2、例9.0:#include#includeusingnamespacestd;classFruit//定义一个类,名字叫Fruit{doubleprice;//定义一个price成员表示价格doubleweight;//定义一个weight成员表示重量stringcolour;//定义一个colour成员表示颜色stringname;//定义一个name成员表示名字doubleconValue;//定义一个conValue成员表示总价值public:friendistream&ope

3、rator》(istream&,Fruit&);//重载输入操作符friendostream&operator《(ostream&,constFruit&);//重载输出操作符Fruit&operator+=(constFruit&orig)//重载复合加法操作符,行为不知道怎么定义好,所以比较奇怪{if(name!=orig.name){name=name+"mix"+orig.name;}if(colour!=orig.colour){colour=colour+"mix"+orig.colour;}weight+

4、=orig.weight;conValue+=orig.conValue;price=conValue/weight;return*this;}friendFruitoperator+(constFruit&lf,constFruit&rf);//重载加法操作符,必须要用友元,因为有两个操作数Fruit&operator=(Fruit&orig)//重载赋值操作符{name=orig.name;colour=orig.colour;price=orig.price;weight=orig.weight;conValue

5、=orig.conValue;return*this;}booloperator==(constFruit&orig)//重载相等操作符{returnconValue==orig.conValue;}booloperator!=(constFruit&orig)//重载不等操作符{return!(*this==orig);}booloperator<(constFruit&orig)//重载小于操作符{returnconValue(constFruit&orig

6、)//重载大于操作符{returnconValue>orig.conValue;}booloperator<=(constFruit&orig)//重载小于等于操作符{return*this

7、

8、*this==orig;}booloperator>=(constFruit&orig)//重载大于等于操作符{return*this>orig

9、

10、*this==orig;}voidprint()//定义一个输出的成员print(){cout《weight《"kilogram"《colour《""《name《"wort

11、h"《conValue《"yuan."《endl;}Fruit(constdouble&dp,constdouble&dw,conststring&cst="green",conststring&nst="apple"):price(dp),weight(dw),colour(cst),name(nst)//构造函数{conValue=price*weight;}Fruit(constFruit&orig)//定义一个复制构造函数{name=orig.name;colour=orig.colour;price=orig

12、.price;weight=orig.weight;conValue=orig.conValue;}~Fruit()//析构函数不需要定义,用系统的就好了{}};ostream&operator《(ostream&out,constFruit&s){cout《s.weight《"kilogram"《s.colour《""《s.na

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

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

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