这个怎么运行不出来,求改正

请定义一个人民币类RMB,包含私有成员元、角、分,请用友元函数重载运算符“+”、“++”、<<,以对类对象进行运算,并按“10元5角3分”字样输出对应类对象的结果。
#include
using namespace std;
class RMB
{
public:
RMB():yuan(0),jiao(0),fen(0){}
RMB(int a, int b, int c):yuan(a),jiao(b),fen(c){}
RMB(const RMB& r1):yuan(r1.yuan),jiao(r1.jiao),fen(r1.fen){}
friend RMB operator + (const RMB& r1,const RMB& r2);
friend RMB operator ++ (RMB& r1,int);
friend RMB operator ++ (RMB& r1);
friend ostream& operator << (ostream & os, const RMB& r1);
private:
int yuan;
int jiao;
int fen;
};
RMB operator + (const RMB& r1,const RMB& r2){
return RMB(r1.yuan+r2.yuan,r1.jiao+r2.jiao,r1.fen+r2.fen);
}
RMB operator ++ (RMB& r1,int){
RMB temp(r1);
r1.fen += 1;
return temp;
}
RMB operator ++ (RMB& r1){
r1.fen += 1;
return r1;
}
ostream& operator << (ostream & os, const RMB& r1){
os<<r1.yuan<<"元"<<r1.jiao<<"角"<<r1.fen<<"分";
return os;
}