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 @   CodeMagicianT  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示