aboutsummaryrefslogtreecommitdiff
path: root/XY.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'XY.cpp')
-rw-r--r--XY.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/XY.cpp b/XY.cpp
new file mode 100644
index 0000000..ad1262b
--- /dev/null
+++ b/XY.cpp
@@ -0,0 +1,35 @@
+#include "XY.h"
+
+XY XY::operator - () const {
+ return XY {
+ .x = -x,
+ .y = -y,
+ };
+}
+
+XY XY::operator + (const XY & rhs) const {
+ return XY {
+ .x = x + rhs.x,
+ .y = y + rhs.y,
+ };
+}
+
+XY XY::operator - (const XY & rhs) const {
+ return XY {
+ .x = x - rhs.x,
+ .y = y - rhs.y,
+ };
+}
+
+XY& XY::operator += (const XY & rhs) {
+ this->x += rhs.x;
+ this->y += rhs.y;
+ return *this;
+}
+
+XY& XY::operator -= (const XY & rhs) {
+ this->x -= rhs.x;
+ this->y -= rhs.y;
+ return *this;
+}
+