您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页实验二运算符重载

实验二运算符重载

来源:化拓教育网
实验二 运算符重载

班级 09计算机2班 学号 Xb09620220 姓名 吴建豪

1. 实验目的:

学习运用运算符重载

2. 实验任务:

1、要求为复数类重载“+”、“ -”、“<<”、“>>”,输出复数的形式为a+bi。

2、定义RMB类,数据成员有yuan、jiao、fen,请为该类定义构造函数、并重载“+”、“-”、“<<”、“>>”。考虑类型的转换。输出的格式:X元y角z分。

1.设计思路

对运算符“+”、“ -”、“<<”、“>>”进行运算符重载,使其适用于复数运算,然后考虑类型的转换。

2.列出代码 220_1.cpp:

#include\"iostream.h\" class complex { public: };

complex complex::operator + (complex &c2) { }

complex complex::operator - (complex &c2) {

complex c;

c.real=real+c2.real; c.imag=imag+c2.imag; return c;

complex operator + (complex &c2); complex operator - (complex &c2);

friend ostream& operator << (ostream &,complex&); friend istream& operator >> (istream &,complex&); double real; double imag;

private:

}

complex c;

c.real=real-c2.real; c.imag=imag-c2.imag; return c;

ostream& operator << (ostream& output,complex& c) { }

istream& operator >> (istream& input,complex& c) { }

void main() { }

complex c1,c2; cin>>c1>>c2; cout<<\"c1:\"<>c.real>>c.imag; return input;

output<<\"(\"<220_2.cpp:

#include\"iostream.h\" #include\"math.h\" class complex { public:

complex(int a,int b,int c) { }

complex(){}

complex(double rmb) {

double a,b; yuan=a; jiao=b; fen=c;

};

}

a=b=rmb; yuan=(int)a;

jiao=((int)(b*10))%10; fen=((int)(rmb*100))%10;

friend complex operator + (complex c1,complex c2); friend complex operator - (complex c1,complex c2); friend ostream& operator << (ostream &,complex&); friend istream& operator >> (istream &,complex&); int yuan; int jiao; int fen;

private:

complex operator + (complex c1,complex c2) { }

complex operator - (complex c1,complex c2) { }

ostream& operator << (ostream& output,complex& c) {

if(c.fen>=10) { }

if(c.jiao>=10) { }

output<<\" \"<c.yuan=c.yuan+c.jiao/10; c.jiao=c.jiao%10; c.jiao=c.jiao+c.fen/10; c.fen=c.fen%10; double a1,a2,result;

a1=(int)c1.yuan+(double)c1.jiao/10+(double)c1.fen/100; a2=(int)c2.yuan+(double)c2.jiao/10+(double)c2.fen/100; result=a1-a2;

return complex((int)result,abs(((int)(result*10)%10)),abs(((int)(result*100)%10))); double a1,a2,result;

a1=(int)c1.yuan+(double)c1.jiao/10+(double)c1.fen/100; a2=(int)c2.yuan+(double)c2.jiao/10+(double)c2.fen/100; result=a1+a2;

return complex((int)result,abs(((int)(result*10)%10)),abs(((int)(result*100)%10)));

}

istream& operator >> (istream& input,complex& c) { }

void main() { }

complex rmb1,rmb2; cin>>rmb1>>rmb2; cout<<\"rmb1:\"<cout<<\"rmb1+rmb2:\"<cout<<\"Please Input:\"; input>>c.yuan>>c.jiao>>c.fen;

}while(c.jiao<0 || c.jiao>=10 || c.fen<0 || c.fen>=10); return input;

5.

运行无误结果分析

实验一

实验二

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务