diff options
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(); +}; |
