C++输入输出运算符重载

删除回忆录丶 提交于 2020-03-05 20:51:20
#include <iostream>

using namespace std;

class Point
{
public:
    Point() { m_x = 0; m_y = 0; };
    Point(int x, int y) : m_x(x), m_y(y) {};
    ~Point() {};

    friend ostream& operator<<(ostream& output, Point &p);
    friend istream& operator>>(istream& input, Point &p);

private:
    int m_x;
    int m_y;
};

ostream& operator<<(ostream& output, Point &p)
{
    output << "x = " << p.m_x << ", " << "y = " << p.m_y;
    return output;
}

istream& operator>>(istream& input, Point &p)
{
    input >> p.m_x >> p.m_y;
    return input;
}

int main()
{
    Point p1(1, 2);
    Point p2;

    cin >> p2;
    
    cout << "point1: " << p1 << endl;
    cout << "point2: " << p2 << endl;

    return 0;
}

输出结果:

3 4
point1: x = 1, y = 2
point2: x = 3, y = 4
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!