自定义的类,如何使用经过运算符重载的<<输出运算符重载的+的结果
如图,使用重载的<<输出+的结果时,报错,报错内容如下:
类的声明及操作符重载如下:
自定义的类,如何使用经过运算符重载的<<输出运算符重载的+的结果
如图,使用重载的<<输出+的结果时,报错,报错内容如下:
类的声明及操作符重载如下:
囫囵吞桃 晚上好🌙🌙🌙
本答案参考ChatGPT-3.5
在你提供的代码中,有几个问题导致了编译错误:
解决方案如下:
修改后的代码如下:
#include<iostream>
using namespace std;
class point{
private:
int a;
int b;
public:
point(int a, int b):a(a),b(b){}
void set(int a, int b){
this->a = a;
this->b = b;
}
point operator +(point &p){
return point(a + p.a, b + p.b);
}
friend ostream& operator <<(ostream &out, point &p);
};
ostream& operator <<(ostream &out, point &p){
out << "(" << p.a << "," << p.b << ")";
return out;
}
int main(){
point a(1, 2), b(1, 1), c(1, 6);
cout << a + b + c;
return 0;
}