30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
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.). |