#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++学习笔记|运算符重载
最新推荐文章于 2023-12-30 03:05:16 发布