已阅读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年河南省焦作市中站区数学四下期中检测试题(含解析)
- 2025年河南省南阳市方城县部分校数学四下期末复习检测模拟试题含答案解析
- WorkBuddy从入门到精通:AI Agent办公新范式完全指南
- AI Agent办公自动化完全指南:从豆包工作到智能体协作实战手册
- 高一学考模拟测试地理试题
- 2025年沈阳市铁西区四下数学期中质量检测模拟试题(含答案解析)
- 2025年金属制品行业智能制造标准案例
- 山东潍坊事业单位试题及答案揭秘
- 第20讲 分离定律的发现 高中生物第一轮总复习
- DB44-T 2886-2026河网地区治涝技术规范
- 护理职业素养与道德规范
- 马工程管理学配套题库及答案
- 泌尿外科前列腺癌康复指南
- 电力建设工程概预算定额(2018版)全12册excel版
- 液压系统故障诊断技术培训课件
- 米哈游校招面笔试题及答案
- GB/T 33855-2026母婴保健服务机构通用要求
- 《2026年》科研管理岗位高频面试题包含详细解答
- 模块化建筑技术
- 2026年四川事业单位招聘考试真题试卷及答案
- 2026年上海市各区高三语文一模试题汇编之文言文二(学生版)
评论
0/150
提交评论