C++_day4:成员函数版本和全局函数版本实现算术运算符的重载

1、成员函数版本和全局函数版本实现算术运算符的重载

程序代码:

#include <iostream>

using namespace std;

//封装一个 名叫Number 的类
class Number
{
    //全局函数做友元,让一些函数访问一个类的私有数据成员
    friend const Number operator-(const Number &L, const Number &R);
private:
    int a;//左操作数
    int b;//右操作数
public:
    //Number 无参构造函数
    Number(){}
    //Number 有参构造函数
    Number(int a,int b) : a(a),b(b)
    {}

    // 成员函数版本 +号  运算符重载
    const Number operator+(const Number &R) const
    {
        Number temp;
        temp.a = a + R.a;
        temp.b = b + R.b;
        return temp;
    }

    void show()
    {
        cout << "a = " << a << " b = " << b << endl;
    }
};
// 全局函数版本 -号 运算符重载
const Number operator-(const Number &L, const Number &R)
{
    Number temp;
    temp.a = L.a - R.a;
    temp.b = L.b - R.b;
    return temp;
}

int main()
{
    Number n1(3,6);
    Number n2(4,7);

    // 使用成员函数版本
    Number n3 = n1 + n2;
    n3.show();

    // 使用全局函数版本
    Number n4 = n1 - n2;
    n4.show();
    return 0;
}

运行结果:

2、思维导图

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 04:50:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 04:50:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 04:50:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 04:50:02       18 阅读

热门阅读

  1. 题记(54)--L1-050 倒数第N个字符串

    2024-03-15 04:50:02       22 阅读
  2. c++特殊类设计

    2024-03-15 04:50:02       16 阅读
  3. 什么是API签名认证?

    2024-03-15 04:50:02       20 阅读
  4. 2024年科技前瞻:AI辅助研发引领未来创新浪潮

    2024-03-15 04:50:02       19 阅读
  5. Android JNI常用API函数介绍

    2024-03-15 04:50:02       18 阅读
  6. 有来团队后台项目-解析10

    2024-03-15 04:50:02       21 阅读
  7. Qt/QML编程之路:线程及Slot的指针传递(47)

    2024-03-15 04:50:02       16 阅读
  8. 2024.3.14 训练记录(16)

    2024-03-15 04:50:02       19 阅读
  9. 大模型prompt提示词如何调优?

    2024-03-15 04:50:02       16 阅读
  10. 【点云】激光点云建图评测

    2024-03-15 04:50:02       17 阅读
  11. OpenAI GPT-4.5 Turbo 泄露,六月或将发布

    2024-03-15 04:50:02       20 阅读
  12. 4. git 添加版本标签

    2024-03-15 04:50:02       19 阅读
  13. Oracle控制文件control file(1)控制文件概述

    2024-03-15 04:50:02       20 阅读