C++ 重载运算符?

C++ 重载运算符?,c++,class,operator-overloading,C++,Class,Operator Overloading,我正在用这个程序学习重载运算符(由以下人员完成): 类CVector{ 公众: int x,y; CVector(){}; c向量(inta,intb):x(a),y(b){} CVector运算符+(const CVector&); }; CVector CVector::运算符+(常量CVector和参数){ CVector温度; coutresult=bar+foo;也可以写成result=bar.operator+(foo); 因此,在bar+foo的情况下,我们在bar上调用成员函数o

我正在用这个程序学习重载运算符(由以下人员完成):

类CVector{
公众:
int x,y;
CVector(){};
c向量(inta,intb):x(a),y(b){}
CVector运算符+(const CVector&);
};
CVector CVector::运算符+(常量CVector和参数){
CVector温度;

cout
result=bar+foo;
也可以写成
result=bar.operator+(foo);

因此,在
bar+foo
的情况下,我们在bar上调用成员函数
operator+
,并为其提供参数
foo

我们可以这样写,原理是一样的

class CVector {
public:
    int x, y;
    CVector() {};
    CVector(int a, int b) : x(a), y(b) {}
    CVector add(const CVector&);
};

CVector CVector::add(const CVector& param) {
    CVector temp;
    cout << x << " " << param.x  << endl; //my addition
    temp.x = x + param.x;
    temp.y = y + param.y;
    return temp;
}

int Desperate2() {
    CVector bar(1, 2);
    CVector foo(3, 4);
    CVector result;
    result = bar.add(foo);
    cout << result.x << ',' << result.y << '\n';
    return 0;
}
类CVector{
公众:
int x,y;
CVector(){};
c向量(inta,intb):x(a),y(b){}
CVector添加(const CVector&);
};
CVector CVector::add(常量CVector和参数){
CVector温度;
库特
class CVector {
public:
    int x, y;
    CVector() {};
    CVector(int a, int b) : x(a), y(b) {}
    CVector add(const CVector&);
};

CVector CVector::add(const CVector& param) {
    CVector temp;
    cout << x << " " << param.x  << endl; //my addition
    temp.x = x + param.x;
    temp.y = y + param.y;
    return temp;
}

int Desperate2() {
    CVector bar(1, 2);
    CVector foo(3, 4);
    CVector result;
    result = bar.add(foo);
    cout << result.x << ',' << result.y << '\n';
    return 0;
}