重载 == 运算符

Overloading the == operator

本文关键字:运算符 重载      更新时间:2023-10-16

我正在尝试比较来自同一类的 2 个对象的成员变量

在捐助者中。

friend bool operator==(const Donor& donor1,const Donor& donor2);

在捐助者中.cpp

bool Donor::operator==(const Donor& donor1, const Donor& donor2)
{
if (donor1.get_type() == donor2.get_type())
{
return true;
}
else
return false;
}

但是我收到一个完整的错误

bool Donor::operator==(const Donor& donor1, const Donor& donor2) must have exactly one argument.

我做错了什么?

friend函数不是成员函数。它不能定义为Donor::operator==,它必须只是operator==

错误消息在这里没有多大用处。它说operator==成员函数只接受一个参数,但由于您不想使其成为成员函数,因此您不需要这些信息。