31.右移运算符重载

1.视频内容

程序1:

#pragma warning(disable:4996)
#include <iostream>
using namespace std;

void test()
{
    int a;
    cin >> a;
    cout << a << endl;
}

class Maker
{
    friend istream &operator>>(istream &in, Maker &m);
public:
    Maker(string name, int age)
    {
        this->name = name;
        this->age = age;
    }
    int getAge()
    {
        return age;
    }
    string getName()
    {
        return name;
    }

private:
    string name;
    int age;
};
istream &operator>>(istream &in, Maker &m)
{
    cout << "请输入年龄" << endl;
    in >> m.age;
    cout << "请输入姓名" << endl;
    in >> m.name;

    return in;
}

void test02()
{
    Maker m("孙悟空", 15);
    Maker m2("悟空孙", 25);
    cin >> m >> m2;

    cout << m.getName() << m.getAge() << endl;
    cout << m2.getName() << m2.getAge() << endl;
}
int main()
{
    test02();

    system("pause");
    return EXIT_SUCCESS;
}

输出结果:

请输入年龄
25
请输入姓名
行者孙
请输入年龄
26
请输入姓名
孙行者
行者孙25
孙行者26
请按任意键继续. . .
posted @ 2022-10-05 22:23  CodeMagicianT  阅读(33)  评论(0编辑  收藏  举报