您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记03--运算符重载(运算符符号篇)

2020-03-08 14:41 916 查看
在C++中,对 int,float,double 类型数据进行四则计算时,我们常常用到 + , - ,* ,/ 这四种运算符。但是如果我们要对我们自定义的类型进行 +, -, *, /运算时,我们要如何进行呢?
实际上我们可以通过构造函数来进行,但是当运算多次使用时,多次抽调函数是一件很麻烦的事情。所以C++中添加了 运算符重载(关键字**operator + 运算符**) 这样一个功能,可以通过一次定义,就可以达到对自定义类型数据的 +,-,*,/ 运算。
接下来举例说明:
#include<iostream>
using namespace std;

//在此处,我构建了一个自定义的Person类
class Person
{
public:
//此处构建了两个Person类的属性
int m_A;
int m_B;

//成员函数运算符重载,用 operator + 重载 “+” 运算符
Person operator+ (Person& p) {
Person temp;
//定义Person类中“ + ”运算符的具体操作
temp.m_A = this->m_A + p.m_A;
temp.m_B = this->m_B + p.m_B;
return temp;
}
};

int main() {
//定义两个Person实例 p1 , p2
Person p1;
p1.m_A = 10;
p1.m_B = 10;
Person p2;
p2.m_A = 10;
p2.m_B = 10;

//运算符重载实质其实为函数的调用
Person p3 = p1.operator+(p2);

//运算符重载实际用法,实现对自定义类的相加运算
Person p4 = p1 + p2;

//输出结果校验
cout << p4.m_A << endl;
cout << p4.m_B << endl;

system("pause");
return 0;
}

接下来是运算结果,显示重载后的 “ + ” 运算符实现了对自定义类Person四则运算的功能

注意:重载的运算符也是可以有重载函数的

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Arcgo 发布了6 篇原创文章 · 获赞 3 · 访问量 121 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: