C++面向对象入门(四十五)重载提取符和插入符

重载流的插入符和提取符
注意事项:
1 使用友元函数的重载方式
2 重载提取符返回值类型使用istream类型的引用, 第一个参数也是istream类型的引用, 第二个参数使用类的引用类型,
但是不能使用const修饰

 

代码示例:

#include <iostream>
using namespace std;


/*
重载流的插入符和提取符
注意事项:
1 使用友元函数的重载方式
2 重载提取符返回值类型使用istream类型的引用, 第一个参数也是istream类型的引用, 第二个参数使用类的引用类型,
但是不能使用const修饰
*/
class A63
{
private:
    int a;
    double b;
public:
    friend ostream &operator<<(ostream &cout, const A63 &a);
    friend istream &operator>>(istream &cin, A63 &a);
};

ostream &operator<<(ostream &out, const A63 &a)
{
    out << "A63 {a:" << a.a << ", b:" << a.b << "}";
    return out;
}

istream &operator>>(istream &in, A63 &a)
{
    cout << "please input a interger, a:" << endl;
    in >> a.a;
    cout << "please input a double, b:" << endl;
    in >> a.b;
    return in;
}

int main()
{
    A63 a;
    cin >> a;
    cout << a << endl;
    system("pause");
}

 

posted @ 2020-09-06 15:05  DNoSay  阅读(628)  评论(0编辑  收藏  举报