C++:day5

思维导图

例题

cpp 复制代码
#include <iostream>
using namespace std;
class RMB
{
private:
    int yuan;
    int jiao;
    int fen;
    static int count;

public:
    RMB()
    {
        count++;
    }
    RMB(int yuan, int jiao, int fen) : yuan(yuan), jiao(jiao), fen(fen)
    {
        count++;
    }
    const RMB operator+(const RMB &R) const
    {
        RMB temp;
        temp.yuan = yuan + R.yuan;
        temp.jiao = jiao + R.jiao;
        temp.fen = fen + R.fen;
        return temp;
    }
    const RMB operator-(const RMB &R) const
    {
        RMB temp;
        temp.yuan = yuan - R.yuan;
        temp.jiao = jiao - R.jiao;
        temp.fen = fen - R.fen;
        return temp;
    }
    bool operator>(const RMB &R) const
    {
        if (yuan > R.yuan)
        {
            if (jiao > R.jiao)
            {
                if (fen > R.fen)
                {
                    return true;
                }
                return true;
            }
            return true;
        }
        else
        {
            return false;
        }
    }
    RMB &operator--()
    {
        --yuan;
        --jiao;
        --fen;
        return *this;
    }
    RMB &operator--(int)
    {
        RMB temp;
        temp.yuan = yuan--;
        temp.jiao = jiao--;
        temp.fen = fen--;
        return *this;
    }
    void show()
    {
        cout << yuan << "元\t" << jiao << "角\t" << fen << "分" << endl;
    }
    static int getCount()
    {
        return count;
    }
    ~RMB()
    {
        count--;
    }
};
int RMB::count = 0;
int main(int argc, char const *argv[])
{
    cout << "现在的RMB对象数量为:" << RMB::getCount() << endl;
    RMB r1(5, 5, 1);
    cout << "现在的RMB对象数量为:" << RMB::getCount() << endl;
    RMB r2(5, 9, 5);
    cout << "现在的RMB对象数量为:" << RMB::getCount() << endl;
    RMB r3 = r1 + r2;
    r3.show();
    RMB r4 = r1 - r2;
    r4.show();

    if (r1 > r2)
    {
        cout << "yes" << endl;
    }
    else
    {
        cout << "no" << endl;
    }

    r1--;
    r1.show();

    cout << "现在的RMB对象数量为:" << RMB::getCount() << endl;
    return 0;
}
相关推荐
akinggw41 分钟前
libsherpacore - 基于 sherpa-onnx 的 C++ 语音交互静态库
c++·交互·语音识别
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试
网络·c++·语言模型·chatgpt
揽星河..1 小时前
【C语言】指针
c语言·开发语言
小小数媒成员1 小时前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
速易达网络2 小时前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
東隅已逝,桑榆非晚2 小时前
算法3.双指针法-快乐数
c++·笔记·学习·算法
福大大架构师每日一题2 小时前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
Sarvartha2 小时前
集合概述 & Collection 接口
开发语言
lhbweilai2 小时前
QT项目(串口助手)
开发语言·qt
eggwyw2 小时前
C++相交链表和反转链表详解
开发语言·c++