Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >运算符重载之加号运算符重载

运算符重载之加号运算符重载

作者头像
大忽悠爱学习
发布于 2021-02-22 02:54:16
发布于 2021-02-22 02:54:16
69900
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

加号运算符重载

运算符重载:对已有运算符的重新定义,赋予其另一种功能,以适应不同的数据类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
using namespace std;
class pig{
public:
	int kilogram;   //重量
	int price;     //价钱
	//成员函数重载+号运算符
	//pig operator+(pig& p)
	//{
	//	pig temp;
	//	temp.kilogram = this->kilogram + p.kilogram;
	//	temp.price = this->price + p.price;
	//	return temp; //不加return,存放在栈区的数据会在调用完之后直接释放
	//}
};
//全局函数重载加号
pig operator+(pig& p1,pig& p2)
{
	pig temp;
	temp.kilogram = p1.kilogram + p2.kilogram;
	temp.price =p1.price + p2.price;
	return temp; //不加return,存放在栈区的数据会在调用完之后直接释放
}
//函数重载
pig operator+(pig& p, int n)
{
	pig temp;
	temp.kilogram = p.kilogram + n;
	temp.price = p.price + n;
	return temp;//不加return,存放在栈区的数据会在调用完之后直接释放
}
void test01()
{
	pig p1, p2;
	p1.kilogram = 300;
	p1.price = 1000;
	p2.kilogram = 250;
	p2.price = 800;
	pig p3;
	p3 = p2 + p1;
	cout << "p3猪的重量" << p3.kilogram << "  " << "p3猪的价钱" << p3.price << endl;
	//运算符重载,也可以发生函数重载
	p3 = p2 + 100; //perosn +int
	cout << "p3猪的重量" << p3.kilogram << "  " << "p3猪的价钱" << p3.price << endl;
}
int main()
{
	test01();
	system("pause");
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手写编程语言-实现运算符重载
运算符重载其实也是多态的一种表现形式,我们可以重写运算符的重载函数,从而改变他们的计算规则。
crossoverJie
2022/12/20
3530
手写编程语言-实现运算符重载
【C++】运算符重载
注:最后有面试挑战,看看自己掌握了吗 文章目录 C++ 中的运算符重载 🍃博主昵称:一拳必胜客 特别鸣谢:木芯工作室 、Ivan from Russia ---- C++ 中的运算符重载 您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。 Box operator+(const Box&);
20岁爱吃必胜客
2022/11/13
5730
运算符重载
运算符重载是一种形式的c++多态,上一张笔记的函数重载也可以叫做函数多态,运算符重载将重载的概念扩展到运算符上,允许C++++运算符有多种含义。很多C++运算符已经被重载,例如 将解引用符号*,但他用于数值之间就是乘积,C++根据操作数的数目和类型来决定采用哪种操作。 C++允许将运算符重载扩展到我们自己定义的类型,例如可以让两个对象相加,编译器根据操作数的数目和类型决定使用哪种加法定义。 例:
用户7272142
2023/10/16
1550
运算符重载
C++运算符重载之加号运算符重载
加号运算符重载 作用:实现两个自定义数据类型相加的运算 1.成员函数实现 + 号运算符重载 class Person { public: Person() {}; Person(int a, int b) { this->m_A = a; this->m_B = b; } //1.成员函数实现 + 号运算符重载 Person operator+(const Person& p) { Person temp; temp.m_A = this->m_A + p.m_A;
CtrlX
2022/08/10
7550
c++之+运算符的重载
比如我们想要进行对象相加: #include<iostream> using namespace std; class Person { public: int a; int b; //通过成员函数重载加号运算符 Person operator+(Person& p) { Person tmp; tmp.a = this->a + p.a; cout << this->a<<p.a<<endl; tmp.b =
西西嘛呦
2020/08/26
6330
【Example】C++ 运算符重载
首先,阅读之前要先搞清楚什么是运算符、函数重载。函数重载就是在一个范围内为一个函数声明多个实现方式,函数名必须一致。
芯片烤电池
2022/04/27
7930
C++运算符重载(二)之左移运算符重载
上代码使用成员函数重载左移运算符的局限:成员函数 p << p 不是我们想要的效果,想要cout<<p
CtrlX
2022/09/21
6100
C++运算符重载(二)之左移运算符重载
《C++魔法:运算符重载的奇妙之旅》
在 C++的广阔编程世界里,运算符重载就像是一把神奇的钥匙,为程序员打开了更多可能性的大门。它赋予了我们自定义数据类型以更自然、更直观的操作方式,让代码更加简洁高效。
程序员阿伟
2024/12/09
970
运算符重载
方法有重载,运算符也有重载,设想一下,我们用加号计算int类型的数据,返回的也是int类型,这很正常,因为在数学中加号就是用来计算数字的。但是当我们用加号计算两个string类型的数据时,给我们返回的则是两个string数据连接在一起,难道加号应用于不同的场景,编译器就会自动做出相应的变化吗?当然不是,这其中就用到了运算符重载。
宿春磊Charles
2022/03/29
3880
运算符重载
运算符重载(看完这篇彻底掌握重载问题)
运算符重载:用同一个运算符完成不同的运算功能。 C++运算符重载的相关规定如下:
海盗船长
2020/08/27
9.8K1
C++运算符重载(三)之递增运算符重载
先++,后输出是指先运行成员函数前置递增运算符重载,再运行函数左移运算符重载。所以先++完成后再传入左移运算符重载函数中,要么是引用传递,要么是拷贝传递,上图使用的是拷贝传递,都可。
CtrlX
2022/09/21
7430
8.4 C++ 运算符重载
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王瑞MVP
2023/10/21
2190
8.4 C++ 运算符重载
C++:12---运算符重载
C++98,C++0x,C++11对“哪些运算符重载能够重载”有一致的规定。详细例如以下:
用户3479834
2021/02/03
6060
C++:12---运算符重载
c++运算符重载
关键字operator 运算符重载本质是函数的调用 1. 重载操作符必须具有一个类类型或枚举类型操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义。 如:int operator+(int, int), 不可以    2. 为类设计重载操作符的时候,必须选择是将操作符设置为类成员还是普通非成员函数。在某些情况下,程序没有选择,操作符必须是成员;在另外一些情况下,有些经验可以指导我们做出决定。下面是一些指导: a. 赋值(=),下标([]),调用(())和成员访问箭头(->)等操作符必
拾点阳光
2018/05/10
8460
运算符成员函数与友元函数重载
我们介绍了运算符重载的目的和一个简单的应用案例。但运算符重载绝非我们想想的那么简单和容易,有很多陷阱我们如果我们还没有去踩过,是不会了解清楚内部的工作原理的。本文只介绍一下运算符重载的两种方式,成员函数重载和友元函数重载,并不具体到某些运算符的具体案例。
我与梦想有个约会
2023/10/20
2680
c++一些问题2.0 友元函数,运算符的重载
---- 友元类:打破了类的封装。 a普通类声明为友元函数. 友元函数可以访问类中的私有成员,打破了类的封装。 b友元成员函数。一个类的成员函数是另一个类的友元函数。 c友元类。 将一个类声明为另一类的友元类。 ---- 代码如下 #include<iostream> #include<string> #include<cmath> using namespace std; class Triangle; class Point { private: int x, y;
热心的社会主义接班人
2018/04/27
7860
c++一些问题2.0 友元函数,运算符的重载
C++运算符重载(五)之关系运算符重载
正常情况下如果想比较两个日期大小是无法实现的,这是因为运算符默认都是给内置类型用的。
CtrlX
2022/09/21
7480
C++面向对象学习之运算符重载(1)
运算符重载(函数重载)是C++多态的重要实现手段之一。通过运算符重载对运算符功能进行特殊定制,使其支持特定类型对象的运算,执行特定的功能,增强C++的扩展功能。
glm233
2020/09/28
8770
C++中运算符的重载
运算符重载相当于运算符的函数重载,用于对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型。我们之前提到过C++中的函数重载,可以根据形参的不同调用不同的函数,那么运算符重载跟函数重载的实现形式差不多,运算符重载的一般写法为返回值 operator运算符(参数列表)。
呆呆
2021/07/05
9560
运算符重载
流操作符>>,<<一般使用非成员函数实现,也就是友元函数实现,这样可以符合程序员的惯性思维
DeROy
2020/05/11
9810
相关推荐
手写编程语言-实现运算符重载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档