From f7ed9a8a6c31b17d54d2f37cc0f12b64f8e4b6d2 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 22 Apr 2024 13:52:55 +0300 Subject: [w9] Added exercise descriptions and solution to exam 1 --- week09/Exam1/DroneShow.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 week09/Exam1/DroneShow.h (limited to 'week09/Exam1/DroneShow.h') 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(); +}; -- cgit v1.2.3