C++day5

思维导图:

代码:

#include <iostream>

using namespace std;

//声明RMB类
class Rmb{
private:
    //声明RMB类中的成员变量
    int yuan;
    int jiao;
    int fen;
    static int count;
public:
    //RMB类的无参构造方法
    Rmb(){
        //cout << "Rmb::无参构造函数" << endl;
        countAdd();
    }
    //RMB类的有参构造方法
    Rmb(int yuan, int jiao, int fen):yuan(yuan), jiao(jiao), fen(fen){
        //cout << "Rmb::有参构造函数" << endl;
        countAdd();
    }
    //显示对象信息的函数
    void show(){
        cout << "金额为:" << yuan << "元" << jiao << "角" << fen << "分" << endl;
    }
    //count自增函数
    static void countAdd(){
        count++;
    }

    //创建函数实现获取count值的功能
    static int getCount(){
        return count;
    }

    //重载加法运算符,实现两个对象对应成员相加
    const Rmb operator+(const Rmb &r)const{
        Rmb t;
        t.yuan = yuan + r.yuan;
        t.jiao = jiao + r.jiao;
        t.fen = fen + r.fen;
        return t;
    }
    //重载减法运算符,实现两个对象对应成员相减
    const Rmb operator-(const Rmb &r)const{
        Rmb t;
        t.yuan = yuan - r.yuan;
        t.jiao = jiao - r.jiao;
        t.fen = fen - r.fen;
        return t;
    }

    //成员函数实现前--运算符重载
    Rmb &operator--(){
        --yuan;
        --jiao;
        --fen;
        return *this;
    }
    //成员函数实现后--运算符重载
    const Rmb operator--(int){
        Rmb t;
        t.yuan = yuan--;
        t.jiao = jiao--;
        t.fen = fen--;
        return t;
    }
};

int Rmb::count = 0;
int main()
{
    Rmb r1(1000, 5, 3);
    r1.show();
    Rmb r2;
    r2 = r1--;
    Rmb r3 = --r1;
    r2.show();
    r3.show();
    Rmb r4 = r1 + r2;
    Rmb r5 = r2 - r1;
    r4.show();
    r5.show();
    cout << "有" << r1.getCount() << "个对象" << endl;
    return 0;
}

运行结果:

相关推荐

  1. 如何来整合 CDI-Unit 和 JUnit 5

    2024-06-11 13:06:03       31 阅读
  2. MSc CDA Take-Home

    2024-06-11 13:06:03       61 阅读
  3. CDA一级备考策略分享

    2024-06-11 13:06:03       32 阅读
  4. CDA-LevelⅡ【考题整理-带答案】

    2024-06-11 13:06:03       50 阅读
  5. Spring Data访问Elasticsearch----CDI集成

    2024-06-11 13:06:03       37 阅读
  6. CDA Level Ⅰ 2023认证考试大纲

    2024-06-11 13:06:03       79 阅读
  7. web server apache tomcat11-33-CDI

    2024-06-11 13:06:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 13:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 13:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 13:06:03       87 阅读
  4. Python语言-面向对象

    2024-06-11 13:06:03       96 阅读

热门阅读

  1. 15年老程序员的内心独白

    2024-06-11 13:06:03       25 阅读
  2. 前端学习笔记(一)

    2024-06-11 13:06:03       26 阅读
  3. c语言基础篇C

    2024-06-11 13:06:03       32 阅读
  4. SpringMVC

    SpringMVC

    2024-06-11 13:06:03      29 阅读
  5. 小抄 20240608

    2024-06-11 13:06:03       24 阅读
  6. Debian 12.5 一键安装 Oracle 19C 单机

    2024-06-11 13:06:03       30 阅读
  7. iOS 查看runtime源码的几种方法

    2024-06-11 13:06:03       34 阅读
  8. 【面试题】如何破坏 JVM的双亲委派机制

    2024-06-11 13:06:03       27 阅读