- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二运算符重载
实验二 运算符重载
班级 09计算机2班 学号 X 姓名 吴建豪
实验目的:
学习运用运算符重载
实验任务:
1、要求为复数类重载“+”、“ -”、“”、“”,输出复数的形式为a+bi。
2、定义RMB类,数据成员有yuan、jiao、fen,请为该类定义构造函数、并重载“+”、“-”、“”、“”。考虑类型的转换。输出的格式:X元y角z分。
设计思路
对运算符“+”、“ -”、“”、“”进行运算符重载,使其适用于复数运算,然后考虑类型的转换。
2.列出代码
220_1.cpp:
#includeiostream.h
class complex
{
public:
complex operator + (complex c2);
complex operator - (complex c2);
friend ostream operator (ostream ,complex);
friend istream operator (istream ,complex);
private:
double real;
double imag;
};
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;
}
ostream operator (ostream output,complex c)
{
output(c.real+c.imagi)endl;
return output;
}
istream operator (istream input,complex c)
{
coutPlease Input:;
inputc.realc.imag;
return input;
}
void main()
{
complex c1,c2;
cinc1c2;
coutc1:c1;
coutc2:c2;
coutc1+c2:c1+c2;
coutc1-c2:c1-c2;
}
220_2.cpp:
#includeiostream.h
#includemath.h
class complex
{
public:
complex(int a,int b,int c)
{
yuan=a;
jiao=b;
fen=c;
}
complex(){}
complex(double rmb)
{
double a,b;
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);
private:
int yuan;
int jiao;
int fen;
};
complex operator + (complex c1,complex c2)
{
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)));
}
complex operator - (complex c1,complex c2)
{
double a1,a2,result;
a1=(int)c1.yuan+(double)c1.jiao/10+(double)c1.fen/100;
a2=(int)c2.yuan+(d
原创力文档


文档评论(0)