0
点赞
收藏
分享

微信扫一扫

网络编程项目(云词典项目)

Hyggelook 2024-09-09 阅读 5

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++操作符重载实例(独立函数)

(全文完)

举报

相关推荐

0 条评论