#include <iostream>
class Position{
int x,y;
public:
Position(int i,int j){
x=i;
y=j;
}
void display(){
std::cout<<"("<<x<<","<<y<<")"<<std::endl;
}
//对运算符的重载实际上就是对函数的重载
//重载为类的成员函数
// Position operator+(Position&p){
// return Position(x+p.x,y+p.y);
// }
//重载为友元函数
friend Position operator+(Position&a,Position&b){
std::cout<<"重载为友元函数"<<std::endl;
return Position(a.x+b.x,a.y+b.y);
}
};
int main(){
Position a=Position(1,2);
Position b(3,3);
a.display();
b.display();
Position c=a+b;//这里相当于调用了a.operator+(b)
c.display();
}
C++学习笔记|运算符重载
最新推荐文章于 2025-03-03 21:04:49 发布
本文介绍了如何在C++中通过友元函数重载Position类的加法运算符,展示了如何定义和使用友元函数来操作Position对象。实例代码演示了如何创建Position对象,并通过友元函数进行坐标相加。

1441

被折叠的 条评论
为什么被折叠?



