zoukankan      html  css  js  c++  java
  • 重载左移运算符并作为友元函数

    不要随意乱用符号重载

    内置数据类型 的运算符不可以重载

    cout << 直接对Person自定义数据类型 进行输出

     写到全局函数中 ostream& operator<< ( ostream & cout, Person & p1  ) {}

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    using namespace std;
    
    class Person
    {
        friend ostream& operator<<(ostream & cout, Person &p);    //重载左移运算符做友元函数
    public:
        Person(int a, int b) :m_A(a), m_B(b)
        {
    
        }
    private:
        int m_A;
        int m_B;
    };
    
    ostream& operator<<(ostream & cout, Person &p)    //重载左移运算符不可以写到成员函数中 保证全局只有一个cout 所以传值要用引用
    {
        cout << "p.m_A=" << p.m_A << ",p.m_B=" << p.m_B;
        return cout;
    }
    void test()
    {
        Person p1(10, 20);
        cout << p1 << endl;
    }
    
    int main()
    {
        test();
        system("Pause");        //阻塞功能
        return EXIT_SUCCESS;    // 返回正常退出
    }

    结果:

  • 相关阅读:
    AUTOSAR-文档阅读
    前端 html
    http协议
    python格式化输出
    IO模型
    协程函数
    伟大的GIL
    苑之歌(进程,线程)
    python之模块导入和包
    任性计算器
  • 原文地址:https://www.cnblogs.com/yifengs/p/15172009.html
Copyright © 2011-2022 走看看