C++ 加号运算符重载

news/2024/7/5 6:39:18

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

语法:一个正常的成员函数 把函数名改为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://lihuaxi.xjx100.cn/news/1465263.html

相关文章

设计模式——依赖倒转原则

文章目录 基本介绍应用实例依赖关系传递的三种方式和应用案例1, 接口传递&#xff0c;应用案例代码2, 构造方法传递&#xff0c;应用案例代码3, setter 方式传递&#xff0c;应用案例代码 依赖倒转原则的注意事项和细节 基本介绍 依赖倒转原则(Dependence Inversion Principle…

stm32单片机/51单片机蜂鸣器不响(proteus模拟)

蜂鸣器不发生原因就1个&#xff1a;电压不够 所以需要提高蜂鸣器2端的电压&#xff1a;可以采用的方法有&#xff1a; 1提高蜂鸣器电阻&#xff0c;这样根据分压原理&#xff0c;可以提升蜂鸣器2段电压 2更改蜂鸣器的工作电压为更小的值&#xff0c;这个可以通过在proteus内…

Gin+微服务实现抖音视频上传到七牛云

文章目录 安装获取凭证Gin处理微服务处理 如果你对Gin和微服务有一定了解&#xff0c;看本文较容易。 安装 执行命令&#xff1a; go get github.com/qiniu/go-sdk/v7获取凭证 Go SDK 的所有的功能&#xff0c;都需要合法的授权。授权凭证的签算需要七牛账号下的一对有效的A…

2023前端面试笔记 —— HTML5(持续收集更新)

系列文章目录 内容链接2023前端面试笔记HTML5 文章目录 系列文章目录前言一、HTML 文件中的 DOCTYPE 是什么作用二、HTML、XML、XHTML 之间有什么区别三、前缀为 data- 开头的元素属性是什么四、谈谈你对 HTML 语义化的理解五、HTML5 对比 HTML4 有哪些不同之处六、meta 标签有…

【C++随笔01】联合体union —— 一种节省空间的类

【C随笔01】联合体union —— 一种节省空间的类 一、联合体&#xff08;union)二、定义三、用法1、定义union、访问union成员2、匿名union3、使用类管理union成员4、管理并销毁string 一、联合体&#xff08;union) 联合体是一种特殊的类。一个union可以有多个数据成员&#x…

茂名 湛江阳江某学校 ibm x3850服务器维修经历

简介&#xff1a;中国广东省阳江市某中学联想 IBM System x3850 x6服务器维修 io板故障处理经历分享&#xff1a; 这一天一位阳江的老师经其他学校老师介绍推荐对接我&#xff0c;说他们学校有一台ibm服务器出问题了&#xff0c;老师大致跟我描述了一下这台服务器发生故障的前…

5.7.webrtc线程的启动与运行

那在上一节课中呢&#xff1f;我向你介绍了web rtc的三大线程&#xff0c;包括了信令线程&#xff0c;工作线程以及网络线程。那同时呢&#xff0c;我们知道了web rtc 3大线程创建的位置以及运行的时机。 对吧&#xff0c;那么今天呢&#xff1f;我们再继续深入了解一下&#…

AUTOSAR规范与ECU软件开发(实践篇)4.4 软件组件代码及描述文件配置生成(下)

目录 4、Simulink-AUTOSAR Mapping配置 (1) Inports/Outports (2) Entry Point Functions (3) Function Callers (4) Data Transfers</