#include <iostream>
using namespace std;
class point {
public:
point() { x = 0; y = 0; }//定义无参构造函数
point(int x1,int y1) { x = x1; y = y1; }//有参构造函数,方便传参(点的坐标)
point operator-(point& p);
friend bool operator==(point& p, point& p1);//写等号错误,忘记写p2引用符
friend ostream &operator<<(ostream&, point&);
friend istream& operator>>(istream&, point&);
void show();//定义展示函数
private:
int x, y;
};
point point::operator-(point& p) {
point p1;
p1.x = -p.x;
p1.y = -p.y;
return p1;
}
bool operator==(point& p, point& p1) {
if (p.x == p1.x && p.y == p1.y)
return true;
else
return false;
}
ostream &operator<<(ostream& output, point& p) {
output << "(" << p.x << "," << p.y << ")";
return output;
}
istream& operator>>(istream& cin, point& p) {//输入函数重载,两个形参,因为<<,>>属于类iostream,所以得传参
cin >> p.x >> p.y;
return cin;
}
int main() {
cin >> p1;
cout << p1;
}
输入输出流函数重载C++(谭浩强第四版第十章符号重载)
最新推荐文章于 2024-09-30 07:31:33 发布