Website Summary Files Commits Branches @commit @diff @stats
path: root / Week09 / Exercise04 / Rover.h
diff options
context:
space:
mode:
Commitb38346eebca9a007971af02fb3bb9472c5e16d0c (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-04-26 21:43:31 +0300
Committer
 Syndamia <kamen@syndamia.com>
2026-04-26 21:43:31 +0300
Files575a64089a17be271aec84683f426252d8f5d1f9 /Week09/Exercise04/Rover.h
oop-2025-solutions-b38346eebca9a007971af02fb3bb9472c5e16d0c.tar
oop-2025-solutions-b38346eebca9a007971af02fb3bb9472c5e16d0c.tar.gz
oop-2025-solutions-b38346eebca9a007971af02fb3bb9472c5e16d0c.zip
Parent7d98b664c9e459a08f2e6e6fa5b636686dfed554 (diff)
feat(Week09): Add solutions
1 files changed, 27 insertions, 0 deletions
-rw-r--r--Week09/Exercise04/Rover.h27
diff --git a/Week09/Exercise04/Rover.h b/Week09/Exercise04/Rover.h
new file mode 100644
index 0000000..4286f06
--- /dev/null
+++ b/Week09/Exercise04/Rover.h
@@ -0,0 +1,27 @@
+#ifndef _ROVER
+#define _ROVER
+
+#include <ostream>
+#include <istream>
+
+class Rover {
+ double x;
+ double y;
+ double forward;
+
+ void moveDistByAngle(double dist, double angle);
+
+public:
+ Rover();
+
+ friend Rover& operator<(double dist, Rover& rover);
+ Rover& operator>(double dist);
+ Rover& operator^(double dist);
+ friend Rover& operator<<(double degrees, Rover& rover);
+ Rover& operator>>(double degrees);
+
+ friend std::ostream& operator<<(std::ostream& ostr, const Rover& rover);
+ friend std::istream& operator>>(std::istream& istr, Rover& rover);
+};
+
+#endif /* _ROVER */