什么是lhs / rhs以及它如何在这个程序中使用?

时间:2018-01-29 02:17:19

标签: c++

struct Point2D {
float x;
float y;
};

Point2D operator+(Point2D lhs, Point2D rhs);
Point2D operator-(Point2D lhs, Point2D rhs);
Point2D operator*(Point2D lhs, Point2D rhs);
Point2D operator/(Point2D lhs, Point2D rhs);

此外,什么是'运营商'它的作用是什么?

1 个答案:

答案 0 :(得分:-1)

在这种情况下,lhs和rhs代表左手侧和右手侧。

它们被用作操作符的加载器功能的输入。左手侧与右手比较。

操作员重载函数改变了操作符的工作方式。

Point2D operator+(Point2D lhs, Point2D rhs);

上面的代码将lhs添加(因此+)到rhs。由于Point2D不是原始的数值数据类型,因此C ++不知道将它们中的两个加在一起。您需要告诉编译器应如何为Point2D数据类型执行+运算符。