C++ 加号运算符重载

news/2024/12/22 19:49:49/

通过重载运算符,实现用运算符操作自定义的数据类型。

语法:一个正常的成员函数 把函数名改为operator加上一个操作符。

情况一(用成员函数重载运算符):

#include<iostream>
using namespace std;
class Person
{
public:Person operator+(Person &p){Person temp;temp.m_A=this->m_A+p.m_A;temp.m_B=this->m_B+p.m_B;return temp;}int m_A;int m_B;
};
void test01()
{Person p1;p1.m_A=10;p1.m_B=10;Person p2;p2.m_A=10;p2.m_B=10;Person p3=p1+p2;    //简化了p3=p1.operator+(p2);cout<<p3.m_A<<" "<<p3.m_B<<" "<<endl;
}
int main()
{test01();
}

情况二(用全局函数重载运算符):

#include<iostream>
using namespace std;
class Person
{
public:int m_A;int m_B;
};
Person operator+(Person &p1,Person &p2)
{Person temp;temp.m_A=p1.m_A+p2.m_A;temp.m_B=p1.m_B+p2.m_B;return temp;
}
void test01()
{Person p1;p1.m_A=10;p1.m_B=10;Person p2;p2.m_A=10;p2.m_B=10;Person p3=p1+p2;    //简化了p3=operator+(p1,p2);cout<<p3.m_A<<" "<<p3.m_B<<" "<<endl;
}
int main()
{test01();
}


http://www.ppmy.cn/news/1047872.html

相关文章

【前端】React快速入门+Redux状态管理

本文旨在记录react的基础内容&#xff0c;帮助有需要的同学快速上手,需要进一步了解描述更加稳妥和全面的信息&#xff0c;请查阅官方文档 官方文档点击这里进行跳转 React快速入门 先导 react框架 vue,react,angular这几种主流前端框架使用频率较高…本质还是js库。 React…

解决charles无法抓取localhost数据包

我们有时候在本地调试的时候&#xff0c;使用charles抓取向本地服务发送的请求的&#xff0c;发现无法抓取。 charles官方也作了相应说明&#xff1a; 大概意思就是 某些系统使用的是硬编码不能使用localhost进行传输&#xff0c;所以当我们连接到 localhost的时候&#xff0c…

C++简介

文章目录 C简介C版本C11例子 C14例子 C17C20例子 C简介 C是一种高级编程语言&#xff0c;它是对C语言的扩展和增强。C由Bjarne Stroustrup于1980年发明&#xff0c;主要用于系统级编程、游戏开发、嵌入式系统等领域。 C具有许多特性&#xff0c;其中最重要的是面向对象编程&a…

学C的第三十四天【程序环境和预处理】

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十三天【C语言文件操作】_高高的胖子的博客-CSDN博客 1 . 程序的翻译环境和执行环境 在ANSI C(C语言标准)的任何一种实现中&#xff0c;存在两个不同的环境。 &#xff0…

【视觉SLAM入门】5.2. 2D-3D PNP 3D-3D ICP BA非线性优化方法 数学方法SVD DLT

"养气之学&#xff0c;戒之躁急" 1. 3D-2D PNP1.1 代数法1.1.1 DLT(直接线性变换法)1.1.2. P3P 1.2 优化法BA (Bundle Adjustment)法 2. 3D-3D ICP2.1 代数法2.1.1 SVD方法 2.2 优化(BA)法2.2.2 非线性优化方法 前置事项&#xff1a; 1. 3D-2D PNP 该问题描述为&am…

第一百一十九回 如何通过蓝牙设备读写数据

文章目录 概念介绍实现方法示例代码经验总结我们在上一章回中介绍了如何获取蓝牙状态相关的内容,本章回中将介绍 如何通过蓝牙设备读写数据。闲话休提,让我们一起Talk Flutter吧。 概念介绍 通过蓝牙设备读写数据有两种方法: 一种是读写Characteristics;一种是读写Descri…

QChart:数据可视化(用图像形式显示数据内容)

1、数据可视化的图形有&#xff1a;柱状/线状/条形/面积/饼/点图、仪表盘、走势图&#xff0c;弦图、金字塔、预测曲线图、关系图、数学公式图、行政地图、GIS地图等。 2、在QT Creator的主页面&#xff0c;点击 欢迎》示例》右侧输入框 输入Chart&#xff0c;即可查看到QChar…

LeetCode863. 二叉树中所有距离为 K 的结点(相关话题:深度遍历,广度遍历)

题目描述 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 示例 1: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2 输出:[7,4,1] 解释…