问题遇到的现象和发生背
代码跑不动,总是声明不了,(顺便解答一下运算符<<重载怎么写)
操作环境、软件版本等信息
dev-c++
尝试过的解决方法
#include<iostream>
#include<cmath>
using namespace std;
class Mony//定义Mony基类
{
public:
Mony(int A=0,int B=0,int C=0)
{
yuan=A;
jiao=B;
fen=C;
int x,y,z;
x=a.yuan*100+a.jiao*10+a.fen;
y=b.yuan*100+a.jiao*10+a.fen;
}
friend Mony operator+(Mony&,Mony&b)
{
Mony c;
z=x+y;
c.yuan=z/100;
c.jiao=(z-c.yuan*100)/10;
c.fen=z%10;
return c;
}
friend Mony operator-(Mony&,Mony&b)
{
Mony d;
z=x-y;
if(z<0)
{
z=-z;
}
d.yuan=z/100;
d.jiao=(z-c.yuan*100)/10;
d.fen=z%10;
return d;
}
friend Mony operator>(Mony&,Mony&b)
{
Mony e;
if(x>=y)
{
e=a;
}
else
{
e=b;
}
return e;
}
friend Mony operator<(Mony&,Mony&b)
{
Mony f;
if(x<y)
{
f=a;
}
else
{
f=b;
}
return f;
}
int yuan, jiao, fen;
};
void display(Mony&a,Mony&b)
{
cout<<"数额较大的为: "<<e.yuan<<"."<<e.jiao<<e.fen<<endl;
cout<<"数额较小的为: "<<f.yuan<<"."<<f.jiao<<f.fen<<endl;
cout<<"两数额之和为: "<<c.yuan<<"."<<c.jiao<<c.fen<<endl;
cout<<"两数额之差为: "<<d.yuan<<"."<<d.jiao<<d.fen<<endl;
}
int main()
{
int A,B,C,D,E,F;
cin>>A>>B>>C>>D>>E>>F;
Mony a(A,B,C),b(D,F,E);
display(a,b)
return 0;
}
我想要达到的结果
问题描述】设计一个Money类,能够实现两个Money的-(减) 、>运算。
【程序必做项】
1- 该类包含三个属性元、角、分。
2- 至少定义一个构造函数;
3- 重载Money类两个对象之间的 +、-、>、<运算;
4- 定义显示输出函数;
5- 自定义main函数,完成以上功能的测试
【程序选做项】
1- 重载++ 运算符
2- 重载<< 与>>
