An interactive, terminal-based corporate hierarchy management application built using advanced Object-Oriented Programming (OOP) architectures in C++. The system models real-world corporate structures, handling employee tracking, task delegation, and direct memory cleanups safely.
- Role-Based Hierarchy: Supports distinct management profiles for
Manager,Developer, and hybridTeamLeadroles. - Polymorphic Work Execution: Automatically routes job descriptions and specific task logs based on employee data structures.
- Tracking Metrics: Uses real-time tracking variables to monitor active structural allocations.
- Memory Safety & Exception Management: Fully integrated customized numerical error catch-blocks and dynamic array cleanups.
- Abstract Base Classes: Implements the
Employeetemplate containing pure virtual operational targets (virtual void work() = 0). - The Diamond Problem Resolution: Uses
virtual publicinheritance across derived roles to prevent compiler ambiguity and resource redundancy for theTeamLeadclass. - Runtime Polymorphism: Employs structural arrays loaded with base object pointers (
Employee*) resolving specialized actions dynamically during terminal inputs. - Static Class Members: Tracks aggregate instance generation independently from standalone data scopes.
Ensure a compatible C++ compiler like g++ is installed on your local operating machine.
- Clone or Download: Save the main source file onto your machine as
main.cpp. - Compile Project: Open your system terminal, navigate to the target directory, and build using:
g++ main.cpp -o EmployeeSystem
- Run Application: Launch the finalized executable framework using:
./EmployeeSystem
Upon launching, the interactive CLI application provides eight core functions:
- Add Manager: Creates structural oversight blocks with dedicated target tracking array metrics.
- Add Developer: Allocates language-specific engineering instances to the system.
- Add Team Lead: Constructs multi-tier hybrid profiles executing both code structures and target tracking arrays.
- Show All Employees: Sequentially streams registered profiles and details to the stdout view window.
- Show Employee Work: Fires dynamic target functions across individual role instances.
- Show Total Employees: Employs static queries returning historical active record counts.
- Delete All Records: Purges memory allocations systematically using heap destruction frameworks.
- Exit: Gracefully shuts down active interface instances safely.