Úloha 9.4
Napíšte program, zdrojový kód, v jazyku C++, ktorý modeluje hierarchiu zamestnancov vo firme pomocou dedičnosti tried. Program bude obsahovať tieto triedy:
Základná trieda: Employee
Atribúty:
- Meno zamestnanca (string)
- ID zamestnanca (int)
Metódy:
- Konštruktor na inicializáciu mena a ID.
- Virtuálna metóda
calculateSalary(), ktorá vráti základný plat (napr. 1000 EUR). - Metóda na výpis informácií o zamestnancovi.
Odvodená trieda: Manager
Dedí z triedy Employee. Atribúty:
- Bonus (float)
Metódy:
- Preťaženie metódy
calculateSalary(), ktorá vráti základný plat plus bonus. - Metóda na nastavenie bonusu.
Odvodená trieda: Intern
Dedí z triedy Employee. Atribúty:
- Počet hodín praxe (int)
- Sadzba za hodinu (float)
Metódy:
- Preťaženie metódy
calculateSalary(), ktorá vypočíta plat ako počet hodín * sadzba za hodinu.
V rámci programu:
- Definujte všetky tri triedy a ich príslušné atribúty a metódy.
- Programe vytvorte pole zamestnancov, ktoré bude obsahovať objekty typu Employee, Manager, a Intern.
- Pre každý objekt zavolajte metódu
calculateSalary()a vypíšte informácie o zamestnancovi vrátane vypočítaného platu. - Využite princíp dedičnosti a polymorfizmus (virtuálne metódy). Použite dynamickú alokáciu objektov v poli zamestnancov. Dodržujte dobré princípy objektovo-orientovaného návrhu (napr. zapúzdrenie).
Príklady vstupov / výstupov programu
Program môže obsahovať nasledovné objekty:
- Zamestnanec: Employee(“Alice”, 1)
- Manažér: Manager(“Bob”, 2, bonus = 500.0)
- Intern: Intern(“Charlie”, 3, hodiny = 20, sadzba = 10.0)
Zamestnanec:
Meno: Alice, ID: 1, Plat: 1000.0
Manažér:
Meno: Bob, ID: 2, Plat: 1500.0
Stážista:
Meno: Charlie, ID: 3, Plat: 200.0Rozbaľ pre ukážku riešenia
Musím si počkať kým sa tu objaví príklad riešenia.
Nezabudni, že najviac sa naučíš ak to vypracuješ sám. 😉