这个应该具体从哪个地方开始思考,怎样才是正确的写法呀(语言-c++)

.请定义一个人民币类RMB,包含私有成员元、角、分,请用友元函数重载运算符“+”、“++”、<<,以对类对象进行运算,并按“10元5角3分”字样输出对应类对象的结果。

有用请采纳哦!

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);
}

// 后置++
// 操作一次++将会加1分
RMB operator ++ (RMB& r1,int){
    RMB temp(r1);
    r1.fen += 1;
    return temp;
}

// 前置++
// 操作一次++将会加1分
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;
}