




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验5-1编一个程序,用成员函数重载运算符“+”和“-”将两个二维数组相加和相减,要求第1个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。#includeusing namespace std;#includeconst int row=2;const int col=3;class array public: array();/构造函数 array(int a,int b,int c,int d,int e,int f); void get_array();/由键盘输入数组的值 void display();/显示数组的值 array operator+(array &X);/将两个数组相加 array operator-(array &X);/将两个数组相减private: int varrowcol;array:array()for(int i=0; irow; i+)for(int j=0;jcol; j+)varij=0;array:array(int a,int b,int c,int d,int e,int f)/由构造函数设置数组的值var00=a;var01=b;var02=c;var10=d;var11=e;var12=f;void array:get_array()/由键盘输入数组的值coutPlease input 2*3 dimension data:endl;for(int i=0; irow;i+)for(int j=0;jvarij;void array:display()/显示数组的值for(int i=0;irow;i+)for(int j=0;jcol;j+)coutsetw(5)varij;coutendl;array array:operator+(array &X)/将两个数组相加array temp;for(int i=0;irow;i+)for(int j=0;jcol;j+)temp.varij=varij+X.varij; return temp;array array:operator-(array &X)/将两个数组相减array temp;for(int i=0;irow; i+)for(int j=0;jcol;j+)temp.varij=varij-X.varij;return temp;int main()array X(11,22,33,44,55,66);array Y,Z;Y.get_array();coutDisplay object Xendl;X.display();coutDisplay object Yendl;Y.display();Z=X+Y;coutDisplay object Z=X+Yendl;Z.display();Z=X-Y; coutDisplay object Z=X-Yendl;Z.display(); return 0;实验5-2将实验5-1用友元函数重载运算符“”和“-”将两个二维数组相加和相减。#include#include/using namespace std;const int row=2;const int col=3;class array public: array();/构造函数 array(int a,int b,int c,int d,int e,int f); void get_array();/由键盘输入数组的值 void display();/显示数组的值 friend array operator+(array &X, array &Y);/将两个数组相加 friend array operator-(array &X, array &Y);/将两个数组相减private: int varrowcol;array:array()for(int i=0; irow; i+)for(int j=0;jcol; j+)varij=0;array:array(int a,int b,int c,int d,int e,int f)/由构造函数设置数组的值var00=a;var01=b;var02=c;var10=d;var11=e;var12=f;void array:get_array()/由键盘输入数组的值coutPlease input 2*3 dimension data:endl;for(int i=0; irow;i+)for(int j=0;jvarij;void array:display()/显示数组的值for(int i=0;irow;i+)for(int j=0;jcol;j+)coutsetw(5)varij;coutendl;array operator+(array &X, array &Y)/将两个数组相加array temp;for(int i=0;irow;i+)for(int j=0;jcol;j+)temp.varij=Y.varij+X.varij; return temp;array operator-(array &X, array &Y)/将两个数组相减array temp;for(int i=0;irow; i+)for(int j=0;jcol;j+)temp.varij=X.varij-Y.varij;return temp;int main()array X(11,22,33,44,55,66);array Y,Z;Y.get_array();coutDisplay object Xendl;X.display();coutDisplay object Yendl;Y.display();Z=X+Y;coutDisplay object Z=X+Yendl;Z.display();Z=X-Y; coutDisplay object Z=X-Yendl;Z.display(); return 0;实验5-3编写一个程序,要求:(1)声明一个类complex,定义类complex的两个对象c1和c2,对象c1通过构造函数直接指定复数的实部和虚部(类私有数据成员为double类型的real和imag)为2.5及3.7,对象c2通过构造函数直接指定复数的实部和虚部为4.2及6.5;(2)定义友元运算符重载函数,它以c1、c2对象为参数,调用该函数时能返回两个复数对象相加操作;(3)定义成员函数print,调用该函数时,以格式“(real,imag)”输出当前对象的实部和虚部,例如:对象的实部和虚部分别是4.2和6.5,则调用print函数输出格式为:(4.2,6.5);(4)编写主程序,计算出复数对象c1和c2相加结果,并将其结果输出。#includeclass complexpublic:complex(double r=0,double i=0);friend complex operator+(const complex c1,const complex c2);void print();private:double real,imag;complex:complex(double r,double i)real=r;imag=i;complex operator+(const complex c1,const complex c2)complex temp;temp.real=c1.real+c2.real;temp.imag=c1.imag+c2.imag;return temp;void complex:print() cout(real,imag)endl; int main()complex c1(2.5,3.7),c2(4.2,6.5);complex c;c=c1+c2;c.print();return 0;实验5-4定义复数类的加法、减法与乘法运算。#includeclass Complexpublic: Complex(double r=0,double v=0):real(r),imag(v)/构造函数 friend Complex operator+(Complex a,Complex b);/在类内对友元函数进行声明friend Complex operator-(Complex a,Complex b);friend Complex operator*(Complex a,Complex b);friend ostream& operator(ostream& out,Complex& a);private:double real;double imag;/输出运算符重载的实现ostream& operator(ostream&out,Complex&a)return outa.real+a.imagin;/+运算符重载的实现Complex operator+(Complex a,Complex b)return Complex(a.real+b.real,a.imag+b.imag); /-运算符重载的实现Complex operator-(Complex a,Complex b)return Complex(a.real-b.real,a.imag-b.imag);/*运算符重载的实现Comple
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同协议书能让别人看吗
- 2025合同协议光明集团新能源电站建设与运营管理合同
- 肉类副产品在食品工业中的功能性与健康价值考核试卷
- 跨境私募基金有限合伙人合作协议(含知识产权、风险投资与项目评估)
- 2025年中国铋精矿行业市场前景预测及投资价值评估分析报告
- 海外网红IP授权合作合同
- 电池梯次利用与环保产业园区建设合作协议
- 海外健康数据备份及设备租赁合作协议
- 拼多多智能客服机器人定制开发与市场拓展服务合同
- 恐怖剧本改编权独家授权协议
- 管理咨询项目服务合同书
- 经典-智能优化方法课件PPT-东北大学+王俊伟
- 多发性骨髓瘤临床路径
- 小型企业通用暂支单
- 欢迎新同学幼儿园中小学开学第一课入学准备ppt
- (整理)柴油发电机的检修
- 2021年肇庆市端州区华佗医院医护人员招聘笔试试题及答案解析
- JJG 694-2009 原子吸收分光光度计-(高清现行)
- 车间作业安全培训资料培训资料
- 教练技术一阶段讲义(共59页)
- 超声肺功能探测新技术
评论
0/150
提交评论