C++周末作业

#include <iostream>

using namespace std;
class RMB
{
    friend const RMB operator+(const RMB &R,const RMB &L);
    friend const RMB operator-(const RMB &R,const RMB &L);
    friend bool operator>(const RMB &L,const RMB &R);
    friend RMB &operator--(RMB &O,int);
    friend RMB &operator--(RMB &O);
private:
    int yuan=0;
    int jiao=0;
    int fen=0;
    static int count;
public:
    RMB()
    {
        count++;

    }
    RMB(int yuan,int jiao,int fen):yuan(yuan),jiao(jiao),fen(fen)
    {
        count++;
    }
    ~RMB()
    {
        count--;

    }

    static int getCount()
    {
        return count;
    }
    void show()
    {
        cout << yuan << "元\t" << jiao << "角\t" << fen << "分" << endl;
    }
};

const RMB operator+(const RMB &R,const RMB &L)
{
    RMB temp;
    temp.yuan=L.yuan+R.yuan;
    temp.jiao=L.jiao+R.jiao;
    temp.fen=L.fen+R.fen;

}
const RMB operator-(const RMB &R,const RMB &L)
{
    RMB temp;
    temp.yuan=L.yuan-R.yuan;
    temp.jiao=L.jiao-R.jiao;
    temp.fen=L.fen-R.fen;

}
bool operator>(const RMB &L,const RMB &R)
{
    if (L.yuan > R.yuan)
            {
                if (L.jiao > R.jiao)
                {
                    if (L.fen > R.fen)
                    {
                        return true;
                    }
                    return true;
                }
                return true;
            }
            else
            {
                return false;
            }

}
RMB &operator--(RMB &O,int)
{
    RMB temp;
    temp.yuan=O.yuan--;
    temp.jiao=O.jiao--;
    temp.fen=O.fen--;
}
RMB &operator--(RMB &O)
{
    ++O.yuan;
    ++O.jiao;
    ++O.fen;
}
int RMB::count = 0;
int main()
{
    cout << "RMB对象数量:" << RMB::getCount() << endl;
    RMB R1(50, 1, 1);
    cout << "RMB对象数量:" << RMB::getCount() << endl;
    RMB R2(20, 5, 5);
    cout << "RMB对象数量:" << RMB::getCount() << endl;
    RMB R3 = R1 + R2;
    R3.show();
    RMB R4 = R1 - R2;
    R4.show();

    if (R1 > R2)
    {
        cout << "ture" << endl;
    }
    else
    {
        cout << "false" << endl;
    }

    R1--;
    --R2;
    R1.show();

    cout << "现在的RMB对象数量为:" << RMB::getCount() << endl;

    return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值