运营商超载的错误

时间:2020-01-27 08:25:23

标签: c++ operator-overloading c++14

我刚刚学习了运算符重载的基础知识。之后,我编写了以下代码,用于平面中两个点的矢量加法。

#include <bits/stdc++.h>
using namespace std;

struct point{
    int x, y;
    point operator+(point b){
        point c;
        c.x = x + b.x;
        c.y = y + b.y;
        return c;
    }
};

int main()
{
    point a, b, c;
    a.x = 1, a.y = 2, b.x = 3, b.y = 4;
    c = a + b;
    cout<<c.x <<" "<< c.y;
    return 0;
}

但是,我发现的大多数其他运算符重载示例的编码方式都非常不同,示例答案为to this question。即使我使用此方法获得了正确的输出,但是当我通过声明一个新变量或忽略 const 来执行此操作时,还是值得担心的吗?

0 个答案:

没有答案