aboutsummaryrefslogtreecommitdiff
path: root/week12/Exercise4/Manager.h
diff options
context:
space:
mode:
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;
+};