编程题6-1-重载运算符

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

名称编程题6_1_重载运算符:point类运算符重载编译器选用g++备注描述定义一个表示三维空间坐标点的类,并对下列运算符重载,主函数定义类对象并调用重载的运算符。(1)输出流运算符:按(x,y,z)的格式输出该点坐标(坐标值为整形)(2)关系运算符:如果A点到原点(0,0,0)的距离大于B点到原点的距离则AB的值为真,否则为假。提示:(1)定义类的构造函数,带默认参数(2)关于文件包含的特别说明:在VC++6.0下要用#includeiostream.h包含头文件才支持友元,但是在本系统中,请仍然用:#includeiostreamusingnamespacestd;进行文件包含,否则会出现编译时的告警,尽管运行结果可以正确通过.(3)主函数定义提示:intmain(){inta,b,c;into,p,q;//用于两个点的坐标值从键盘输入……//输入以上6个整数pointp1(a,b,c),p2(o,p,q);//定义两个对象名为p1,p2……//调用重载的运算符输出p1,p2……//调用重载的运算符比较p1,p2到原点的距离并按格式输出return0;}在保存并预览之后,点开:“测试用例”选项卡,再选择下方的“添加”,加入两组测试用例第一个测试用例,输入部分:101020151510输出部分:(10,10,20)(15,15,10)p1p2:1p2p1:0第二个测试用例,输入部分:202010151520输出部分:(20,20,10)(15,15,20)p1p2:1p2p1:0参考源程序代码#includeiostreamusingnamespacestd;//说明:在VC++下用#includeiostream.h进行文件包含classpoint{intx,y,z;public:point(intxx=0,intyy=0,intzz=0){x=xx;y=yy;z=zz;}intoperator(constpoint&ob);friendostream&operator(ostream&out,constpoint&ob);};参考源代码仅供老师参考,不要添加到系统中intpoint::operator(constpoint&ob){intd1,d2;d1=x*x+y*y+z*z;d2=ob.x*ob.x+ob.y*ob.y+ob.z*ob.z;returnd1d2;}ostream&operator(ostream&out,constpoint&ob){out(ob.x,ob.y,ob.z)\n;returnout;}intmain(){inta,b,c;into,p,q;cinabc;cinopq;pointp1(a,b,c),p2(o,p,q);coutp1;coutp2;coutp1p2:(p1p2)endl;coutp2p1:(p2p1)endl;return0;}★说明:(1)请各位按上表格式,第一列不变,第二三列为各位根据题目填写(2)允许的编程语言:选gc++,(3)名称和描述两项请将文档第二列内容对应贴入系统中(4)测试用例请各位自己添加,题目的最后已有描述,每个题目也说明了要给几组测试用例(5)其他选项可以自行设定,例如开启时间,结束时间,等等,需要大家逐步熟悉

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功