c++进行函数重载时报错:此运算符函数的参数太多CC++

c++进行函数重载时报错:此运算符函数的参数太多CC++,第1张

问题描述

#c++进行函数重载时报错:此运算符函数的参数太多C/C++(344)

原因分析:

C++中类内运算符重载时只能有且仅有一个参数


解决方案:

方案一:将重载函数作为友元函数进行实现

class Person
{
public:
    Person(string name, int age)
    {
        this->m_name = age;
        this->m_age = name;
    }

    friend ostream & operator<<(ostream &cout, Person &p)
    {
        cout << p.m_name<<" " << p.m_age<< endl;
        return cout;
    }

    string m_name;
    int m_age;
};

方案二:在类外作为全局函数实现

class Person
{
public:
    Person(string name, int age)
    {
        this->m_name = age;
        this->m_age = name;
    }
    string m_name;
    int m_age;
};

ostream & operator<<(ostream &cout, Person &p)
    {
        cout << p.m_name<<" " << p.m_age<< endl;
        return cout;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/713279.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-24
下一篇2022-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存