diff options
| author | Syndamia <kamen@syndamia.com> | 2024-04-22 13:52:55 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2024-04-22 13:52:55 +0300 |
| commit | f7ed9a8a6c31b17d54d2f37cc0f12b64f8e4b6d2 (patch) | |
| tree | 866abf46779f63a2fd1c8cfc70f7ff5f3bc11752 /week09/Exam1/DroneShow.h | |
| parent | a2e284b0056075e2365deaa2455be567c3b3c945 (diff) | |
| download | oop-2023-solutions-f7ed9a8a6c31b17d54d2f37cc0f12b64f8e4b6d2.tar oop-2023-solutions-f7ed9a8a6c31b17d54d2f37cc0f12b64f8e4b6d2.tar.gz oop-2023-solutions-f7ed9a8a6c31b17d54d2f37cc0f12b64f8e4b6d2.zip | |
[w9] Added exercise descriptions and solution to exam 1
Diffstat (limited to 'week09/Exam1/DroneShow.h')
| -rw-r--r-- | week09/Exam1/DroneShow.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/week09/Exam1/DroneShow.h b/week09/Exam1/DroneShow.h new file mode 100644 index 0000000..fd7e880 --- /dev/null +++ b/week09/Exam1/DroneShow.h @@ -0,0 +1,28 @@ +#include "Drone.h" + +class DroneShow { + char* name; // ок ако има голяма петица и нужните проверки, иначе трябва да е "char name[128]" + // масив от указатели, ако е nullptr значи няма дрон, иначе има + // това е по-добра интерпретация от това във всеки дрон да пазим "isEmpty" булева стойност или подобно, понеже + // пише че на позиция може да *няма* дрон, тоест аргумент е ако има дефолтен дрон пак да кажем, че има + Drone* drones[1024]; + + // Голямата петица не дава директно точки, но отнема + // Щом имаме динамична памет, тогава ЗАДЪЛЖИТЕЛНО трябва да имаме голяма петица + void free(); + void copyFrom(const DroneShow& other); +public: + DroneShow(); + ~DroneShow(); + DroneShow(const DroneShow& other); + DroneShow& operator=(const DroneShow& other); + DroneShow(DroneShow&& other); + DroneShow& operator=(DroneShow&& other); + + // +0.15 за метод + bool isEmpty(int index); + // +0.50 за конструктор; не са ни дадени ограничения, затова правим възможно най-простия такъв + DroneShow(const char* name, Drone* drones[1024]); + // +0.35 за метод + void play(); +}; |
