当前位置: 首页 > article >正文

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码:

c1802.cpp源代码:

D:\YcjWork\CppTour>vim c1802.cpp

#include <iostream>

using namespace std;
/**
 * 以独立函数的方式重载操作符+
*/
class CVector{
	public:
		int x, y;
		CVector(){}
		CVector(int a, int b):x(a),y(b){}
};
CVector operator+(CVector lhs,CVector rhs){
	CVector temp;
	temp.x = lhs.x + rhs.x;
	temp.y = lhs.y + rhs.y;
	return temp;
}

int main(){
	CVector c1(7, 5);
	CVector c2(3, 15);
	CVector res = c1+c2; //调用重载的操作符+
	//以函数的方式调用重载的操作符,OK
	//CVector res = operator+(c1, c2);
	cout << "res.x=" << res.x << endl;
	cout << "res.y=" << res.y << endl;
	return 0;
}

编译、运行:

D:\YcjWork\CppTour>gpp c1802

D:\YcjWork\CppTour>g++ c1802.cpp -o c1802.exe

D:\YcjWork\CppTour>c1802
res.x=10
res.y=20

D:\YcjWork\CppTour>

运行截屏如下:

C++操作符重载实例(独立函数)

(全文完)


http://www.kler.cn/news/302522.html

相关文章:

  • 《网络故障处理案例:公司网络突然中断》
  • 详说 类和对象
  • element form rules 验证数组对象属性时如何写判断规则
  • 测试驱动开发(TDD)学习分享-下篇
  • Python知识点:如何使用Python进行图像批处理
  • MySQL中的约束
  • 系统分析师10:知识产权与标准化
  • 大模型中的多模态概念指的是什么
  • (计算机网络)应用层
  • Tomcat_使用IDEA开发javaWeb工程并部署运用
  • 爱普生相机SD卡格式化后数据恢复指南
  • C++速通LeetCode第5题-回文链表
  • 防止文件外发泄密有什么方法?这7防外发方式可以看下!
  • 数字化转型背景下低代码开发模式变革的研究
  • Excel图表生成:自动化创建与修改Excel图表的技术指南
  • 基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)
  • pytorch torch.triu函数介绍
  • python实现进化算法
  • 在国产芯片上实现YOLOv5/v8图像AI识别-【4.4】RK3588网络摄像头推理后推流到RTSP更多内容见视频
  • 海思SD3403(21AP10, 108DC2910 )4K60 的 ISP 图像处理能力,4Tops INT8算力
  • 数据结构2 :双向链表和内核链表
  • mysql可重复读不能解决幻读吗?
  • linux————根据端口查找运行目录的三种方法
  • STM32内部闪存FLASH(内部ROM)、IAP
  • 信息安全工程师题
  • ASR(自动语音识别)识别文本效果的打分总结
  • 用Cri-O,Sealos CLI,Kubeadm方式部署K8s高可用集群
  • 【docker】了解什么是Docker
  • 欧洲麻花钻市场主要企业市场占有率及排名
  • Framework | 在Android中运行时获取顶层Activity并处理业务逻辑