10_10C++

news2024/10/6 4:05:47

X-mid

在这里插入图片描述

#include <iostream>
using namespace std;
class Kun
{
    //算术运算符
    friend const Kun operator+(const Kun &k1,const Kun &k2);
    friend const Kun operator-(const Kun &k1,const Kun &k2);
    friend const Kun operator*(const Kun &k1,const Kun &k2);
    friend const Kun operator/(const Kun &k1,const Kun &k2);
    //关系运算符
    friend bool operator==(const Kun &k1,const Kun &k2);
    friend bool operator>(const Kun &k1,const Kun &k2);
    friend bool operator<(const Kun &k1,const Kun &k2);
    friend bool operator!=(const Kun &k1,const Kun &k2);
    //赋值运算符
    friend Kun &operator+=(Kun &k1,const Kun &k2);
    friend Kun &operator-=(Kun &k1,const Kun &k2);
    friend Kun &operator*=(Kun &k1,const Kun &k2);
    friend Kun &operator/=(Kun &k1,const Kun &k2);

private:
     int a;
     int b;
public:
    Kun()
    {}
    Kun(int a,int b):a(a),b(b)
    {}
    void show()
    {
        cout << "a=" << a << endl << "b=" << b << endl;
    }
    //算术运算符
//    const Kun operator+( const Kun &k) const
//    {
//        Kun temp;
//        temp.a = a + k.a;
//        temp.b = b + k.b;
//        return temp;
//    }
//    const Kun operator-( const Kun &k) const
//    {
//        Kun temp;
//        temp.a = a - k.a;
//        temp.b = b - k.b;
//        return temp;
//    }
//    const Kun operator*( const Kun &k) const
//    {
//        Kun temp;
//        temp.a = a * k.a;
//        temp.b = b * k.b;
//        return temp;
//    }
//    const Kun operator/( const Kun &k) const
//    {
//        Kun temp;
//        temp.a = a / k.a;
//        temp.b = b / k.b;
//        return temp;
//    }
//    const Kun operator%( const Kun &k) const
//    {
//        Kun temp;
//        temp.a = a % k.a;
//        temp.b = b % k.b;
//        return temp;
//    }
    //关系运算符
//    bool operator==(const Kun &k) const
//    {
//        if(a == k.a && b == k.b)
//        {
//            return true;
//        }else
//            return false;
//    }
//    bool operator>(const Kun &k) const
//    {
//        if(a > k.a && b > k.b){
//            return true;
//        }else
//            return false;
//    }
//    bool operator<(const Kun &k) const
//    {
//        if(a < k.a && b < k.b){
//            return true;
//        }else
//            return false;
//    }
//    bool operator!=(const Kun &k) const
//    {
//        if(a != k.a && b != k.b){
//            return true;
//        }else
//            return false;
//    }
    //赋值运算符
//    Kun &operator+=(const Kun &k2)
//    {
//        a += k2.a;
//        b += k2.b;
//        return *this;
//    }
//    Kun &operator-=(const Kun &k2)
//    {
//        a -= k2.a;
//        b -= k2.b;
//        return *this;
//    }
//    Kun &operator=(const Kun &k2)
//    {
//      if(this!=&k2){
//            a = k2.a;
//            b = k2.b;
//      }
//        return *this;
//    }
//    Kun &operator*=(const Kun &k2)
//    {
//        a *= k2.a;
//        b *= k2.b;
//        return *this;
//    }
//    Kun &operator/=(const Kun &k2)
//    {
//        a /= k2.a;
//        b /= k2.b;
//        return *this;
//    }
};

//算术运算符
const Kun operator+(const Kun &k1,const Kun &k2)
{
    Kun temp;
    temp.a = k1.a + k2.a;
    temp.b = k1.b + k2.b;
    return temp;
}
const Kun operator-(const Kun &k1,const Kun &k2)
{
    Kun temp;
    temp.a = k1.a - k2.a;
    temp.b = k1.b - k2.b;
    return temp;
}
const Kun operator*(const Kun &k1,const Kun &k2)
{
    Kun temp;
    temp.a = k1.a * k2.a;
    temp.b = k1.b * k2.b;
    return temp;
}
const Kun operator/(const Kun &k1,const Kun &k2)
{
    Kun temp;
    temp.a = k1.a / k2.a;
    temp.b = k1.b / k2.b;
    return temp;
}
//关系运算符
bool operator==(const Kun &k1,const Kun &k2)
{
       if(k1.a == k2.a && k1.b == k2.b)
       {
           return true;
       }else
           return false;
}
bool operator>(const Kun &k1,const Kun &k2)
{
       if(k1.a >k2.a && k1.b > k2.b)
       {
           return true;
       }else
           return false;
}
bool operator<(const Kun &k1,const Kun &k2)
{
       if(k1.a < k2.a && k1.b < k2.b)
       {
           return true;
       }else
           return false;
}
bool operator!=(const Kun &k1,const Kun &k2)
{
       if(k1.a != k2.a && k1.b != k2.b)
       {
           return true;
       }else
           return false;
}
//赋值运算符
Kun &operator+=(Kun &k1,const Kun &k2)
{
    k1.a += k2.a;
    k1.b += k2.b;
    return k1;
}
Kun &operator-=(Kun &k1,const Kun &k2)
{
    k1.a -= k2.a;
    k1.b -= k2.b;
    return k1;
}
Kun &operator*=(Kun &k1,const Kun &k2)
{
    k1.a *= k2.a;
    k1.b *= k2.b;
    return k1;
}
Kun &operator/=(Kun &k1,const Kun &k2)
{
    k1.a /= k2.a;
    k1.b /= k2.b;
    return k1;
}
int main()
{
    Kun k(10,10);
    Kun kk(10,10);
    Kun kkk = k + kk;
    kkk.show();
    if(kkk == kk){
      cout << "左右操作数想等" << endl;
    }else if(kkk > kk){
        cout << "左操作数大于右操作数" << endl;
    }else if(kkk < kk){
        cout << "左操作数小于右操作数" << endl;
    }else{
        cout << "不知道" << endl;
    }
    kkk+=kk;
    kkk.show();
    kkk-=kk;
    kkk.show();
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1077119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI能否取代程序员:探讨人工智能在编程领域的角色

引言&#xff1a; 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;人们开始思考&#xff1a;AI是否能够取代程序员&#xff1f;这个问题引发了广泛的讨论和辩论。一些人认为&#xff0c;AI的出现将彻底改变编程的面貌&#xff0c;而另一些人则坚信&#xf…

线性代数 --- QR分解,A=QR

矩阵的QR分解&#xff0c;格拉姆施密特过程的矩阵表示 首先先简单的回顾一下Gram-Schmidt正交化过程的核心思想&#xff0c;如何把一组线性无关的向量构造成一组标准正交向量&#xff0c;即&#xff0c;如何把矩阵A变成矩阵Q的过程。 给定一组线性无关的向量a,b,c&#xff0c;我…

【深度学习】Chinese-CLIP 使用教程,图文检索,跨模态检索,零样本图片分类

代码&#xff1a;https://github.com/OFA-Sys/Chinese-CLIP/blob/master/deployment.md 文章目录 安装环境和onnx推理转换所有模型为onnx测试所有onnx模型的脚本onnx cpu方式执行docker镜像 安装环境和onnx推理 安装环境&#xff0c;下载权重放置到指定目录&#xff0c;进行on…

基于Java+SpringBoot+Vue线上医院挂号系统的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Swagger-go学习笔记

目录 Swagger的作用背景Swagger介绍 Swagger的基本使用1. 使用步骤2. 添加注释3. 生成接口文档数据4. 引入gin-swagger5. 测试结果6. 使用Token Swagger-go的中文文档通用API信息API操作MIME类型参数类型数据类型 Swagger的作用 背景 在传统的前端端分离的项目中&#xff0c;…

JAXB 使用记录 bean转xml xml转bean 数组 继承

JAXB 使用记录 部分内容引自 https://blog.csdn.net/gengzhy/article/details/127564536 基础介绍 JAXBContext类&#xff1a;是应用的入口&#xff0c;用于管理XML/Java绑定信息 Marshaller接口&#xff1a;将Java对象序列化为XML数据 Unmarshaller接口&#xff1a;将XML数…

数字孪生和数据分析:数字化时代的力量结合

在当今数字化时代&#xff0c;数据是无处不在的。企业、政府和个人不仅生成了大量数据&#xff0c;还寻求从中获取有价值的信息以进行更好的决策。在这个背景下&#xff0c;数字孪生和数据分析成为了迎合这一需求的两个关键概念。本文带大家一起探讨二者之间相辅相成的关系。 一…

黑马店评-04缓存更新策略,保证MySQL数据库中的数据和Redis中缓存的数据一致性

缓存更新策略(数据一致) 更新策略 缓存更新是Redis为了节约内存而设计出来的机制,当我们向Redis插入太多数据时就会导致缓存中的数据过多,所以Redis会对部分数据进行更新即淘汰 低一致性需求(数据长久不发生变化): 使用内存淘汰机制,例如店铺类型信息的查询缓存,因为这部分…

day02_运算符_if

零、今日内容 1.运算符 2.scanner 3.if,ifelse,elseif 复习 学习方法: 睡觉前过电影(1jdk,配置环境变量2idea使用3HelloWorld程序解释 4变量5数据类型6String) 主方法是每次都要写的,因为代码要执行(psvm) 输出语句每次都要写的,因为要看结果(sout) 1.声明变量的语法格式 数据类…

网络安全(黑客)—0基础学习手册

目录梗概 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来…

Git【入门】从安装到会用(千字总结●超详细)

我的个人主页&#xff1a;☆光之梦☆_C语言基础语法&#xff08;超详细&#xff09;,【java入门】语法总结-CSDN博客 创作不易&#xff0c;如果能帮到你就好 注&#xff1a;你的 &#x1f44d;点赞 ⭐收藏 &#x1f4dd;评论 是对博主最大的支持与鼓励喔 认真看完这篇文章&am…

极智AI | 能够轻松构建大模型端到端应用的LangChain 到底是什么

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来介绍一下 能够轻松构建大模型端到端应用的 LangChain,到底是什么。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq 先上官…

Cesium热力图

二、代码 <!doctype html> <html><head><meta charset"utf-8"><link rel"stylesheet" href"./css/common.css"><title>热力图</title><script src"./js/config.js"></script>…

手动实现SpringMVC底层机制

手动实现SpringMVC底层机制 &#x1f41f;准备工作&#x1f34d;搭建SpringMVC底层机制开发环境 实现任务阶段一&#x1f34d;开发ZzwDispatcherServlet&#x1f966;说明: 编写ZzwDispatcherServlet充当原生的DispatcherServlet(即核心控制器)&#x1f966;分析代码实现&#…

基于点标签的目标检测与计数深度学习框架盘点

(1)P2PNet <1>P2PNet提出 论文出处&#xff1a;Rethinking Counting and Localization in Crowds: A Purely Point-Based Framework 论文链接&#xff1a;https://arxiv.org/abs/2107.12746 开源代码&#xff1a;https://github.com/TencentYoutuResearch/CrowdCount…

物联网AI MicroPython传感器学习 之 MQ136硫化氢传感器

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 MQ136 是一种硫化氢检测传感器&#xff0c;感应范围为 1 - 200ppm。传感元件是 SnO2&#xff0c;它在清洁空气中的电导率较低。当存在 H₂S 气体时&#xff0c;传感器的电导率随着气体浓度的升…

Gralloc ION DMABUF in Camera Display

目录 Background knowledge Introduction ia pa va and memory addressing Memory Addressing Page Frame Management Memory area management DMA IOVA and IOMMU Introduce DMABUF What is DMABUF DMABUF 关键概念 DMABUF APIS –The Exporter DMABUF APIS –The…

PyTorch模型的多种导出方式提供给其他程序使用

PyTorch模型的多种导出方式提供给其他程序使用 flyfish PyTorch模型的多种导出方式 PyTorch模型的多种导出方式提供给其他程序使用1 模型可视化2 预训练模型3 ONNX模型导出有输入有输出TRAINING导出方式EVAL导出方式 4 自定义输入输出的名字&#xff0c;并可批量推理5 导出JI…

PyG两个data Datsaset v.s. InMemoryDataset

可以看到InMemoryDataset 对CPU更加友好 https://pytorch-geometric.readthedocs.io/en/latest/modules/data.html#pytorch-lightning-wrappers

Linux下C++编程-进度条

引言&#xff1a;本篇主要在linux下的C实现进度条的功能。按照多文件编程&#xff0c;同时使用Makefile文件完成多文件的编译、连接。 首先创建头文件&#xff1a; 1. progress.h #pragma once #include <iostream> #include <cstring> #include <iomanip>…