当前位置: 首页 > article >正文

c++ day 4

代码整理, 将学过的三种运算符重载,每个至少实现一个运算符的重载:分别是-,-=,<。

#include <iostream>

using namespace std;
class Stu
{
    friend const Stu operator-(const Stu &L,const Stu &R);
    friend bool operator<(const Stu &L,const Stu &R);
    friend Stu &operator-=(Stu &L,const Stu &R);
private:
    int a;
    int b;
public:
    Stu(){}
    Stu(int a,int b):a(a),b(b)
    {}
//    const Stu operator-(const Stu &R)const //算数成员函数-=
//    {
//        Stu temp;
//        temp.a=a-R.a;
//        temp.b=b-R.b;
//        return temp;
//    }

 //--------------------------------------------------------------------------------------------------
//    bool operator<(const Stu &R)
//    {
//        if (a<R.a && b<R.b)
//        {
//            return true;
//        }
//        else
//        {
//            return false;
//        }
//    }
//-----------------------------------------------------------------------------------------------
//    Stu &operator-=(const Stu &R)
//    {
//        a-=R.a;
//        b-=R.b;
//        return *this;
//    }
//----------------------------------------------------------------------------------------------
    void show()
    {
        cout << "a= " << a << " " << "b=" << b << endl;
    }
};
const Stu operator-(const Stu &L,const Stu &R)
{
    Stu temp;
    temp.a=L.a-R.a;
    temp.b=L.b-R.b;
    return  temp;
}
bool operator<(const Stu &L,const Stu &R)
{
    if (L.a<R.a && L.b<R.b)
    {
        return  true;
    }
    else
    {
        return false;
    }
}
Stu &operator-=(Stu &L,const Stu &R)
{
    L.a-=R.a;
    L.b-=R.b;
    return L;
}
int main()
{
    Stu s1(10,11);
    Stu s2(10,11);
    Stu s3=s1-s2;
    s3.show();
    if (s3<s1)
    {
        cout << "s3<s1" << endl;
    }
    s1-=s3;
    s1.show();
    return 0;
}


http://www.kler.cn/a/153954.html

相关文章:

  • Excel——宏教程(2)
  • VSCode+ESP-IDF开发ESP32-S3-DevKitC-1(2)第一个工程 LED心跳灯
  • web应用安全和信息泄露预防
  • 理解 Python 中的 __getitem__ 方法:在自定义类中启用索引和切片操作
  • UE5 材质里面画圆锯齿严重的问题
  • Go语言24小时极速学习教程(二)复合数据(集合)操作
  • Unity中Shader指令优化(编译后指令解析)
  • J-LINK J-FLASH 下载STM32单片机程序使用教程
  • C++-火车编组
  • docker-compose脚本编写关键词详解
  • LeetCode | 100. 相同的树
  • SALib敏感性分析入门实践笔记
  • Leetcode算法系列| 3. 无重复字符的最长子串
  • 初识Linux(下).妈妈再也不用担心我Linux找不到门了
  • YOLOv8-Seg改进:SENetV2,squeeze和excitation全面升级,效果优于SENet | 2023年11月最新成果
  • Long-Context下LLM模型架构全面介绍
  • mybatis中<association> 和 <collection>
  • 【CTA认证】Android认证桌面首页必须能看到顶部状态栏
  • 使用 mtcnn 和 facenet 进行人脸识别
  • 解决woocommerce产品方面遇到的小问题记录
  • 面试 Java 基础八股文十问十答第二期
  • 探索 Web API:SpeechSynthesis 与文本语言转换技术
  • 深度学习回顾:七种网络
  • Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP+贪心+正难则反)
  • okhttp导致的内存溢出(OOM)sun.security.ssl.SSLSocketImpl
  • K8S集群搭建redis集群的步骤