流操作符<<和>>
这两个运算符平时可以对常见变量类型进行输入输出,但是无法直接输出类的内容和类的输入,这种情况就需要进行重载。
ostream ---- <<
istream ---- >>
这里声明为友元函数,就必须包括两个形参
代码如下:
//源代码:
#include <bits/stdc++.h>
using namespace std;
class point
{
public:
point(){}
point(int a, int b)
{
x = a;
y = b;
}
friend istream& operator >> (istream& is, point & p)
{
cout << "请输入X:\n";
is >> p.x;
cout << "请输入Y:\n";
is >> p.y;
return is;
}
friend ostream& operator << (ostream& os, point & p)
{
return os << p.x << "," << p.y << endl;
}
private:
int x,y;
};
int main()
{
point p(1, 7);
cin >> p;
cout << p;
return 0;
}
//结果
/*
请输入X;
5
请输入Y:
4
5,4
*/