c++之+运算符的重载
时间:2022-07-23
本文章向大家介绍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 = this->b + p.b;
cout << this->b << p.b<<endl;
return tmp;
}
};
//通过全局函数重载
Person operator+(Person &p1,Person &p2){
Person tmp;
tmp.a = p1.a+p2.a;
tmp.b = p1.b+p2.b;
return tmp;
}
void test() {
Person p1;
p1.a = 1;
p1.b = 2;
Person p2;
p2.a = 3;
p2.b = 4;
Person p3;
p3 = p1 + p2;
//p3=p1.operator+(p2);
//p3=operator+(p1,p2);
cout << "p3的a=" << p3.a << endl;
cout << "p3的b=" << p3.b << endl;
}
int main() {
test();
system("pause");
return 0;
}
输出:
需要注意的是运算符重载,也可以发生函数重载。
- 如何使用CDSW在CDH集群通过sparklyr提交R的Spark作业
- 如何使用Beeline连接Impala
- 微软公式编辑器系列漏洞分析(一):CVE-2017-11882
- 预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相
- RPO攻击技术浅析
- 渗透技巧 | Windows上传并执行恶意代码的N种姿势
- 如何通过Cloudera Manager配置Spark1和Spark2的运行环境
- 从CPU漏洞Meltdown&Spectre看侧信道攻击
- 如何使用Java连接Kerberos的Kafka
- 隐藏在Chrome插件商店中的恶魔——恶意插件User-Agent Swither分析
- 如何使用CDSW在CDH中分布式运行所有R代码
- 如何在CDH中使用HBase快照
- 中间件安全-Tomcat安全测试概要
- 如何在CDH集群使用HDFS快照
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- tensorflow 大于某个值为1,小于为0的实例
- YII框架模块化处理操作示例
- 基于tensorflow for循环 while循环案例
- 浅谈Python 命令行参数argparse写入图片路径操作
- 硬核干货丨游戏大世界的超远视距处理手法,建议收藏!
- python实现npy格式文件转换为txt文件操作
- 从0开始打造UI框架:动态化框架Scrollview物理学算法解析
- 基于Keras的格式化输出Loss实现方式
- PHP信号处理机制的操作代码讲解
- php防止表单重复提交实例讲解
- Python实现封装打包自己写的代码,被python import
- 创建一个 Serverless 应用,真的没有这么难!
- PHP使用mongoclient简单操作mongodb数据库示例
- 基于TensorFlow的CNN实现Mnist手写数字识别
- django rest framework 自定义返回方式