aboutsummaryrefslogtreecommitdiff
path: root/week12/Exercise4/Manager.h
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2024-05-10 12:27:14 +0300
committerSyndamia <kamen@syndamia.com>2024-05-10 12:27:14 +0300
commiteb6305c8b0a71a613a34edbcabdaf1fde259451d (patch)
tree2ba4402c82569810ab4287175670193597cc52d4 /week12/Exercise4/Manager.h
parent8dd9b39fa54a91030cdd5fe71973f78f7e8089e0 (diff)
downloadoop-2023-solutions-eb6305c8b0a71a613a34edbcabdaf1fde259451d.tar
oop-2023-solutions-eb6305c8b0a71a613a34edbcabdaf1fde259451d.tar.gz
oop-2023-solutions-eb6305c8b0a71a613a34edbcabdaf1fde259451d.zip
[w12] Finished ex 4
Diffstat (limited to 'week12/Exercise4/Manager.h')
-rw-r--r--week12/Exercise4/Manager.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/week12/Exercise4/Manager.h b/week12/Exercise4/Manager.h
new file mode 100644
index 0000000..eee8f9f
--- /dev/null
+++ b/week12/Exercise4/Manager.h
@@ -0,0 +1,27 @@
+#pragma once
+#include "Employee.h"
+#include "Person.h"
+
+class Manager : public Person, public Employee {
+ Person* manages;
+ unsigned size;
+ unsigned allocated;
+
+ void resize();
+
+ void free();
+ void copyFrom(const Manager& other);
+
+public:
+ Manager();
+ ~Manager();
+ Manager(const Manager& other);
+ Manager& operator=(const Manager& other);
+ Manager(Manager&& other);
+ Manager& operator=(Manager&& other);
+
+ void StartManaging(Person& newEmp);
+ void StopManaging(const Person& oldEmp);
+
+ virtual float Workload() override;
+};