Naslednja naloga predstavlja opis pametnega doma:
Napišite razred Device, ki ima:
instančni spremenljivki id in name (oboje tipa string),
konstruktor z 2 parametroma in
metodo toString.
Napišite razred Light, ki deduje iz razreda Device. Nov razred naj ima:
dodatno instančno spremenljivko turnedOn (bool),
konstruktor s 3 parametri in
metodo toString.
Napišite razred SmartHome, ki ima:
instančni spremenljivki name (string) in devices (vector<Device*>),
konstruktor z 1 parametrom (samo name),
destruktor, ki izbriše objekte iz devices (gre za kompozicijo),
metodo addDevice in
metodo toString.
Sami dodajte še 2 smiselna razreda, ki bosta dedovala iz razreda Device.
V glavnem programu zapišite oz. sestavite program, ki bo predstavljal eno pametno hišo, ki ima znotraj devices nekaj primerkov naprav (Device, Light ...).
Za nalogo narišite diagram UML. Lahko na list papirja, vendar ga je treba slikati ali skenirati in tudi oddati na eštudij. Lahko pa ustvarite uml diagram s pomočjo https://app.diagrams.net/ ali s podobno aplikacijo.
Napotki pri reševanju naloge:
Pazite na uporabo protected, virtual in override.
Pri reševanju naloge upoštevajte vso dosedaj pridobljeno znanje (uporaba inicializacijskega seznama, konstantne metode, zapišite si metode get/set tam, kjer jih potrebujete itd.).