我试图从Lynda的C / C ++ Essential Training学习C和C ++。现在,我在函数部分,Bill Weinman在该部分的一个课程中讨论了运算符重载函数。以下是他展示的方式:
int operator + (A & lhs, A & rhs ) {
cout << "operator + for class A" << endl;
return lhs.value() + rhs.value();
}
我正在使用代码而事实证明它不是使用引用,我只能编写正常的参数,而编译器允许这样做。
int operator + (A lhs, A rhs)
{
return (lhs.value() + rhs.value());
}
当我使用引用时,我无法添加三个值。这给了我一个错误:
member1 + member2 + member3
但是当我使用普通变量而不是引用作为参数时,编译器对此很好。我搜索了互联网,看看其他人是否做到了这一点,但Tutorials Point是一样的。他们在参数中使用了参考。
所以,我想了解他们为什么使用参考文献?是什么原因?我已经知道为什么不可能使用3个成员参考,但我不知道为什么我们必须使用参考。
提前致谢。我不是母语人士,对任何错误都感到抱歉。