这是一个简单的例子,用于说明在C ++中覆盖运算符。我不明白&的含义。在' CVector&'第9行和第12行。看起来他们没有通过一个CVector的地址,看起来像是&可以省略,因为操作员只是将CVector作为参数。
#include <iostream>
using namespace std;
class CVector {
public:
int x,y;
CVector () {};
CVector (int a,int b) : x(a), y(b) {}
CVector operator + (const CVector&);
};
CVector CVector::operator+ (const CVector& param) {
CVector temp;
temp.x = x + param.x;
temp.y = y + param.y;
return temp;
}
int main ()
{
CVector foo (3,1);
CVector bar (1,2);
CVector result;
result = foo + bar;
cout << result.x << ',' << result.y << '\n';
return 0;
}
答案 0 :(得分:2)
这些是引用。它们在C ++中是一个非常基本的概念,我不认为我可以在这个短暂的空间中对它们做出正确的判断。我建议您参考C ++教程或参考资料,以了解有关它们的更多信息,最好是在不涉及类等其他复杂概念的上下文中。
答案 1 :(得分:1)
每当你在C ++中看到&
时,如果它带有方法的参数,那意味着参与方法的变量将通过引用传递,并且使用独立变量,它引用了变量存储的地址。