设计Point类的<<、>>运算符重载函数,并输入一个点再输出该点。 class Point { public: int x,y; Point(int i=0,int j=0) { x=i;y=j;} };
时间: 2023-12-02 13:05:47 浏览: 103
好的,以下是重载<<和>>运算符的代码实现:
```c++
#include <iostream>
using namespace std;
class Point {
public:
int x,y;
Point(int i=0, int j=0) { x=i; y=j; }
friend ostream& operator<<(ostream& out, const Point& p);
friend istream& operator>>(istream& in, Point& p);
};
ostream& operator<<(ostream& out, const Point& p) {
out << "(" << p.x << ", " << p.y << ")";
return out;
}
istream& operator>>(istream& in, Point& p) {
in >> p.x >> p.y;
return in;
}
int main() {
Point p;
cout << "请输入一个点:" << endl;
cin >> p;
cout << "你输入的点是:" << p << endl;
return 0;
}
```
这里我们使用了友元函数来重载运算符,重载函数中使用了输入输出流对象,让我们可以像使用cout和cin一样使用这些运算符来输入和输出Point类型的对象。在main函数中,我们创建了一个Point对象p,并通过cin输入一个点,然后通过cout输出该点。
阅读全文