假设我定义了这个结构:
struct Point {
double x, y;
};
我怎样才能重载+
运算符,以便声明,
Point a, b, c;
double k;
表达方式
c = a + b;
产量
c.x = a.x + b.x;
c.y = a.y + b.y;
和表达式
c = a + k;
产量
c.x = a.x + k;
c.y = a.y + k; // ?
对于后一种情况,交换性质是否成立?也就是说,做c = a + k;
和c = k + a;
必须分开处理吗?