已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告实验目的:掌握运算符重载的语法要点,学会运算符重载的编程方法。实验内容:(1)先读程序,预测程序的输出结果,再运行程序验证程序的输出。用友元重载方式重新编写次程序。#include class Vector public:Vector()Vector(int i,int j) x=i;y=j;friend Vector operator+=(Vector v1,Vector v2) v1.x+=v2.x; v1.y+=v2.y; return v1;Vector operator-=(Vector v) Vector temp;temp.x=x-v.x; temp.y=y-v.y; return temp;void display() cout(x,y)endl;private:int x,y;void main() Vector v1(1,2),v2(3,4),v3,v4; v3=v1+=v2; v4=v1-=v2; coutv1=; v1.display(); coutv2=; v2.display(); coutv3=; v3.display(); coutv4=; v4.display();运行结果:v1=(1,2)v2=(3,4)v3=(4,6)v4=(-2,-2)Press any key to continue用友元重载方式重新编写次程序:#include using namespace std;class Vectorpublic:Vector(int i = 0,int j = 0)x=i;y=j;friend Vector operator+=(Vector &v1,Vector &v2) v1.x+=v2.x;v1.y+=v2.y;return v1;friend Vector operator-=(Vector &v1,Vector &v2) v1.x=v1.x-v2.x;v1.y=v1.y-v2.y;return Vector( v1.x, v1.y);void display() cout(x,y)endl;private:int x,y;void main()Vector v1(1,2),v2(3,4),v3,v4;v3 = v1+=v2;v4 = v1-=v2; coutv1=; v1.display();/1,2coutv2=; v2.display();/3,4coutv3=; v3.display();/4,6coutv4=; v4.display();/1,2运行结果:v1=(1,2)v2=(3,4)v3=(4,6)v4=(-2,-2)Press any key to continue(2)定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。#includeclass rationalprivate: long denom,den; public:rational(long num=0, long denom1=1)denom=num;den=denom1;int operator(rational r) constdouble x,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(xy)return 1;return 0;int operator=(rational r) constdouble x,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x=y)return 1;return 0;int operator=(rational r) constdouble x,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x=y)return 1;return 0;int operator!=(rational r) constdouble x,y;x=denom*1.0/den;y=r.denom*1.0/r.den;if(x!=y)return 1;return 0;void set(long denom1,long den1)denom=denom1;den=den1;void read()coutdenom/denendl;void main()long x,y;coutxy;rational A(x,y);coutxy;rational B(x,y);coutendl;cout有理数A为:;A.read();cout有理数B为:;B.read();if(AB)coutABendl;if(A=B)coutA=Bendl;if(A=B)coutA=Bendl;if(A!=B)coutA!=Bendl;运行结果:请输入A的分子和分母:2 5请输入B的分子和分母:3 4有理数A为:2/5有理数B为:3/4ABA=BA!=BPress any key to continue(3)设计一个复数类,并重载,/ 和 运算符。写完整程序并调试。#include#includeclass complexpublic:float real,imag; public: complex(float real=0.0, float imag=0.0);complex operator+(const complex & r);complex operator-(const complex & r);complex operator*(const complex & r);complex operator/(const complex & r);friend ostream& operator(ostream &os,complex &r); ;complex:complex(float x, float y ) real = x;imag = y;complex complex:operator+(const complex & r) complex temp;temp.real = real + r.real;temp.imag = imag + r.imag;return temp;complex complex:operator-(const complex & r) complex temp;temp.real = real - r.real;temp.imag = imag - r.imag;return temp;complex complex:operator*(const complex & r) complex temp;temp.real = real*imag - r.real*r.imag;temp.imag = imag*r.real + real*r.imag;return temp;complex complex:operator/(const complex & r) complex temp; temp.real = (real*r.real + imag*r.imag);temp.imag = (real*r.imag - imag*r.real) / (r.real*r.real + r.imag*r.imag); return temp; os
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年安徽省淮北市八年级英语上册期中考试试卷及答案
- 轮椅训练方法
- 2025版视网膜脱落常见症状及护理注意事项
- 2025版冠心病症状分析及护理措施
- 幼儿看图说话训练
- 经过时间的计算教学设计
- 眼睛科眼疾病的日常预防指南
- 安全员怎样给员工培训
- 设备异常处理方法及流程
- 《资治通鉴》核心解析
- 《医疗质量安全核心制度要点》解读
- 视频制作拍摄服务方案投标文件(技术方案)
- T∕CECS 21-2024 超声法检测混凝土缺陷技术规程
- 学校食堂家长开放日活动上校长讲话:一起为孩子们的“舌尖安全”把好关
- 中西医结合治疗神经性疼痛的进展
- 园林高级工程师评审个人技术工作总结
- 《劳动教育》 课件 专题三 树立劳动精神 第一节 积淀劳动精神
- 《山西汾酒公司基于杜邦分析法的企业财务能力分析案例》15000字
- 乒乓球教案体育课件
- 《都市园艺》课程教学大纲
- 空调水系统施工方案
评论
0/150
提交评论