问题描述
#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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)