在我的教科书中,他们举了一个重载+运算符的例子
Sales_item operator+ (const Sales_item& lhs, const Sales_item& rhs)
{
Sales_item ret(lhs);
ret += rhs;
return ret;
}
但是当我为我的链表尝试它时,它告诉我它只能采取零或一个参数。
我没有看到什么,如果你不能拿2个参数,你甚至会如何添加2个对象?
答案 0 :(得分:1)
如果你的operartor +是一个成员函数,它不需要两个参数,因为你调用operator + on的类的对象是左侧参数。但是你已经有了这样一个运算符:operator + =。正如chris和nims所建议的那样,在Sales_item类之外移动operator +。