今天对二元运算符重载的时候编译报错:[Error] 'youlishu youlishu::operator+(youlishu&, youlishu&)' must take either zero or one argument
查了一下我发现,用成员方式重载运算符, 不能改变参数的个数 。 二元运算符用成员重载时, 只需要一个参数, 另一个参数由this指针传入 所以, 我的代码应该改为
youlishu youlishu::operator+(youlishu&)
第一个参数由this指针自动传入到函数中去的.不过我还是喜欢有两个参数的,于是我改成了
友元函数。 也就是在函数声明前加上friend即可。