




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Task8-2/*1. 定义一个复数类 Complex ,重载运算符“ + ” ,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和*/#include<iostream>using namespace std;class Complexpublic:Complex()real=0;imag=0;Complex(double r,double i)real=r;imag=i;void display();double real;double imag;void Complex:display()cout<<"(&qu
2、ot;<<real<<","<<imag<<"i)"-可编辑修改-Complex operator +(Complex &c1,Complex &c2) Complex p;p.real=c1.real+c2.real;p.imag=c1.imag+c2.imag;return p;int main()Complex c1(3,5),c2(2,5),c3;c1.display();cout<<"+"c2.display();cout<<"
3、="c3=c1+c2;c3.display();3 陈习章归便阳O,5i>+<2rGO=Ct,10L>Pr-ocess r«tujT-ried 04。冲sxscution time = 6.461 s Press an if key to continue.-可编辑修改-Task8-2/*2. 定义一个复数类 Complex ,重载运算符“ + ”、” - “、 ” *”、” /”,使之能用于复数的加、减、乘、除。运算符重载函数作为 Complex 类的成员函数,编程,分别求两个复数之和差积商。*/#include<iostream>using
4、 namespace std;class Complexpublic:Complex()real=0;imag=0;Complex(double r,double i)real=r;imag=i;Complex operator+(Complex &c2);Complex operator-(Complex &c2);Complex operator*(Complex &c2);Complex operator/(Complex &c2);void display();private:double real;double imag;Complex Complex
5、:operator +(Complex &c2) Complex c;-可编辑修改-c.real=real+c2.real;c.imag=imag+c2.imag;return c;Complex Complex:operator -(Complex &c2)Complex c;c.real=real-c2.real;c.imag=imag-c2.imag;return c;Complex Complex:operator *(Complex &c2)Complex c;c.real=real*c2.real;c.imag=imag*c2.imag;return c;C
6、omplex Complex:operator /(Complex &c2)Complex c;c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);return c;-可编辑修改-void Complex:display()cout<<"("<<real<<","<<imag&l
7、t;<"i)"<<endl;int main()Complex c1(3,4),c2(5,-10),c3;c3=c1+c2;cout<<"c1+c2="c3.display();c3=c1-c2;cout<<"c1-c2="c3.display();c3=c1*c2;cout<<"c1*c2="c3.display();c3=c1/c2;cout<<"c1/c2="c3.display();return 0;-可编辑修改-1 口1
8、0+翁习童作业 VaskW-ZexRcl+c2=<8,61l-c2=<-2,1413rl«c2=<15i.-40icl/c2-<-0.2,0.415Tracess returned 0 0x0 executlain time = 0.638 sFress any key to caintiriLiE_Task8-3/*-可编辑修改-3 .有两个矩阵a和b ,均为行m歹U (m、n的值自己给出),求两个矩阵之和、差、积、商,重载运算符“ +”、”,*, ,/,、/ ,使之能用于矩阵向加减乘除,如c=a+b 、 c=a*b 。*/#include <iost
9、ream>#define n 2#define m 3using namespace std;class Matrix/定义Matrix类public:Matrix。;/默认构造函数friend Matrix operator+(Matrix &,Matrix &);/重载运算符“ + ”friend Matrix operator-(Matrix &,Matrix &);friend Matrix operator*(Matrix &,Matrix &);friend Matrix operator/(Matrix &,Matri
10、x &);void input();/ 输入数据函数void display();private:/ 输出数据函数int matnm;Matrix:Matrix()for(int i=0;i<n;i+)for(int j=0;j<m;j+)matij=0;/ 定义构造函数Matrix operator+(Matrix &a,Matrix &b)函数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j+b.matij; return c;Matrix operator-(M
11、atrix &a,Matrix &b)/ 定义重载运算符“ +/ 定义重载运算符“ + ”函-可编辑修改-Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j-b.matij;return c;Matrix operator*(Matrix &a,Matrix &b)/ 定义重载运算符“ + ”函数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j*b.matij;return c;Ma
12、trix operator/(Matrix &a,Matrix &b)/ 定义重载运算符“ + ”函数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j/b.mati j;return c;void Matrix:input()/ 定义输入数据函数cout<<"input value of matrix:"<<endl;int i,j;for(i=0;i<n;i+)for( j=0;j<m;j+)cin>>matij;vo
13、id Matrix:display()/ 定义输出数据函数for (int i=0;i<n;i+)for(int j=0;j<m;j+)cout<<mati j<<" "cout<<endl;int main()Matrix a,b,c;a.input();b.input();cout<<endl<<"Matrix a:"<<endl;a.display();cout<<endl<<"Matrix b:"<<endl
14、;b.display();c=a+b;/ 用重载运算符“ + ” 实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl;c.display();c=a-b;/ 用重载运算符“ + ” 实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a - Matrix b :"<<endl;c.display();c=a*b;/ 用重载运算符“ + ”实现两个矩阵相加cout<<endl&l
15、t;<"Matrix c = Matrix a * Matrix b :"<<endl;c.display();c=a/b;/用重载运算符“ + ”实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a / Matrix b :"<<endl;c.display();return 0;E D:Cg酒;习茁8章作业g e8召田/ input value of matrix: 18 6 3 6 9 4 input v-alue of matrix: 1 2 3 4 3 2hat
16、1* lx a :ks 6 3 8 9 4Matrix h: 12 3 4 3 2Mfi'ts'ZLx c =d + Ma.tr ix h19 B 6 12 12 6c = Hat=i耳 a - Ha.tr-Ik b k7 4 elatrix c - Matrix a * Matrix b : 8 12 9 2 27 8latrix c - Matrix a / Matrix b * 8 3 1 ! 3 2irecess returned 0 (0x0) execution time e 46.069 s 电害意 anj Jtey to cont inu.e .Task8-4/
17、*4 . 在第三题的基础上,重载运算符>> 和 <<, 使之能用于该矩阵的输入和输出。# /#include <iostream># define n 2# define m 3using namespace std;class Matrix/ 定义 Matrix 类public:/ 默认构造函数/ 重载运算符“ +Matrix();friend Matrix operator+(Matrix &,Matrix &);friend Matrix operator-(Matrix &,Matrix &);friend Matri
18、x operator*(Matrix &,Matrix &);friend Matrix operator/(Matrix &,Matrix &);friend ostream& operator<<(ostream& ,Matrix&);friend istream& operator>>(istream& ,Matrix&);void input();/ 输入数据函数void display();/ 输出数据函数private:int matnm;-可编辑修改-;Matrix:Matri
19、x()for(int i=0;i<n;i+)for(int j=0;j<m;j+)matij=0;/ 定义构造函数Matrix operator+(Matrix &a,Matrix &b)函数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j+b.matij; return c;Matrix operator-(Matrix &a,Matrix &b)数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.
20、mati j=a.mati j-b.matij;/ 定义重载运算符“ +/ 定义重载运算符“ + ”函return c;Matrix operator*(Matrix &a,Matrix &b)/ 定义重载运算符“ + ”函数Matrix c;for(int i=0;i<n;i+)for(int j=0;j<m;j+)c.mati j=a.mati j*b.matij;return c;Matrix operator/(Matrix &a,Matrix &b)/ 定义重载运算符“ + ”函数Matrix c;for(int i=0;i<n;i+
21、)for(int j=0;j<m;j+)c.mati j=a.mati j/b.mati j;return c;ostream& operator<<(ostream& out,Matrix& c)for(int i=0;i<n;i+)for(int j=0;j<m;j+)cout<<c.mati j<<'t'cout<<endl;return out;istream& operator>>(istream& in,Matrix& c)for(int i
22、=0;i<n;i+)for(int j=0;j<m;j+)cin>>c.mati j;cout<<endl;return in;/ 定义输入数据函数void Matrix:input() cout<<"input value of matrix:"<<endl;int i,j;for(i=0;i<n;i+)for( j=0;j<m;j+)(cin>>matij;)/定义输出数据函数void Matrix:display()for (int i=0;i<n;i+)for(int j=0;
23、j<m;j+)cout<<mati j<<" "cout<<endl;int main()Matrix a,b,c;cout<<" 请输入第一个n*m矩阵"<<endl;cin>>a;cout<<" 请输入第二个n*m矩阵"<<endl;cin>>b;cout<<endl<<"Matrix a:"<<endl;cout<<a;cout<<end
24、l<<"Matrix b:"<<endl;cout<<b;c=a+b;用重载运算符“+”实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl;c=a-b;用重载运算符“+”实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a - Matrix b :"<<endl;cout<<c;c=a*b;/用重载运算符“ + ”实现两
25、个矩阵相加cout<<endl<<"Matrix c = Matrix a * Matrix b :"<<endl;cout<<c;c=a/b;/用重载运算符“ + ”实现两个矩阵相加cout<<endl<<"Matrix c = Matrix a / Matrix b :"<<endl;cout<<c;return 0;B港习罩a受作曲3 5 kB-4.su请输入第一个口矩阵 IS B 6B 6 4请输入第二个矩阵 2 4 64 3 2latriy a :
26、ISS6口64latrdx b : 246432latrix c = tlatrix q * Flatrix b : 1212121296latrdx c - Hatrlx a - Matrix L : B40432a -* Matrix b : 20323632168latrlx c - Hati*ix a / Matrix h - 521222Process PEui'ned 3 <0x0>1ahPresE Any key +0 con± inue,t ime J 2G.7U t sTask8-5/* 5.实现分数类中的运算符重载,在分数类中可以完成分数的加减
27、乘除-可编辑修改-(运算后再化简) 、求反、比较( 6 种关系)的运算。*/#include<iostream>#include<stdlib.h>using namespace std;int gcd(int m,int n);class Fractionprivate:int nume; / 分子int deno; / 分母public:Fraction(int nu=0,int de=1);/ 构造函数,初始化用void Set(int nu=0,int de=1);/ 置值,改变值时用Fraction operator+(Fraction &c2);Fr
28、action operator-(Fraction &c2);Fraction operator*(Fraction &c2);Fraction operator/(Fraction &c2);bool operator>=(Fraction &c2);Fraction operator-();void display();void Simplify(); / 化简(使分子分母没有公因子);Fraction:Fraction(int nu,int de)if(de!=0)nume=nu;deno=de;elsecout<<" 格式错误
29、,程序退出n"exit(0);void Fraction: Set(int nu,int de)if(de!=0)nume=nu;deno=de;void Fraction:display()cout<<nume<<'/'<<deno<<endl;/ 求分子,分母最大公约数int gcd(int m,int n)int r;if(m<n)r=m;m=n;n=r;while(r=m%n)if(r=0)break;m=n;n=r;return n;/ 将分数化简void Fraction:Simplify()int n
30、=gcd(nume,deno);nume=nume/n;deno=deno/n;cout<<nume<<'/'<<deno;Fraction Fraction:operator+(Fraction &c2)Fraction c;c.deno=deno*c2.deno;c.nume=nume*c2.deno+c2.nume*deno;return c;Fraction Fraction:operator-(Fraction &c2)Fraction c;c.deno=deno*c2.deno;c.nume=nume*c2.deno-c2.nume*deno;return c;Fraction Fraction:operator*(Fraction &c2)Fraction c;c.den
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 晋中市中医院科研教学人员绩效激励与考核政策试题
- 唐山市中医院骨盆栓塞止血技术考核
- 中国对二氯苯项目创业计划书
- 上海市人民医院巨大甲状腺肿手术关键技术考核
- 天津市中医院胆囊癌根治术规范化操作考核
- 2025年中国透气透湿涂层项目投资计划书
- 赤峰市中医院超声引导下中心静脉置管术者资质认证考核
- 通辽市中医院出凝血急诊快速处置考核
- 晋中市人民医院肿瘤随访与复发监测考核
- 2025第二人民医院护理学科科研创新考核
- 高速公路改扩建工程施工作业指导书
- 华为公司校园招聘个人简历标准版
- 学校结核病防控培训课件
- 【精品】部编版五年级上册道德与法治全册课时练(一课一练)(含答案)
- DBJ41-138-2014 河南省建筑地基基础勘察设计规范-(高清版)
- DBJ50T 043-2016 工程勘察规范
- 八年级美术下册《弘扬真善美》优质课件
- 《流行病学》第十六章 分子流行病学
- 被执行人财产申报表
- 四年级综合实践活动教案全册
- 常用原料净料率参照表
评论
0/150
提交评论