Ласло Краус |
ИР2ОО1/СИ2ОО1 Испит 2. 9. 2007. |
---|
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) Зашто се (по правилу) дефиниције класа на језику C++ пишу у датотекама-заглављима (*.h
)?
б) Да ли се у свим функцијама чланицама може користити показивач this
? Образложити.
в) Да ли су дозвољени и зашто (1) конструктори апстрактних класа и (2) променљиве типа показивача или упућивача (референце) на апстрактну класу?
г) Ако је основна класа изузетака O
, из ње изведена класа I
, а из I
изведена класа II
, којим редом треба написати catch
гране за обраду сва три типа изузетака?
д) Која је улога итератора у STL–у, које врсте итератора постоје и шта омогућавају те врсте?
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
"kom"
, "l"
, "m"
и "kg"
. Грешка је ако се покуша направити јединица мере с другачијом ознаком. Јединица мере може да се упише у излазни ток (it<<jed
) кад се пише ознака јединице.
art1==art2
). Артикал може да се упише у излазни ток (it<<art
) кад се пише назив артикла.
it<<zap
) када се пише артикал, количина, јединица мере, јединична цена и вредност артикла.
niz+=elem
; капацитет низа се по потреби аутоматски повећава за 10%, али бар за 5 места). Може да се дохвати број елемената у низу, да се дохвати елемент са задатим редним бројем (niz[ind]
; грешка је ако је индекс изван опсега) и да се садржај низа упише у излазни ток (it<<niz
), по један елемент у сваком реду.
sklad+=zap
; грешка је ако већ постоји запис за исти артикал). Може да се дохвати запис за задати артикал (sklad[art]
; грешка је ако такав запис не постоји) и да се израчуна укупна вредност артикала у складишту.
(5 поена) Написати на језику C++ програм који направи једно складиште, стави у њега неколико артикала и испише на главном излазу укупну вредност артикала у складишту. Користити константне податке (не треба ништа учитавати).
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.