Ласло Краус |
ИР2ОО1/СИ2ОО1 Испит 20. 2. 2009. |
---|
Одговорити концизно (једна или две реченице) и прецизно на следећа питaња:
а) Ако је за класу А
написана операторска функција operator+
, и ако су дефинисани објекти А
а1,а2;
како се преводи израз а1+а2
под условом (1) да је operator+
написан као (1) метода класе А
, односно (2) као пријатељска функција?
б) Ако је класа I
заштићено изведена из класе O
чији је приватни члан mp()
, заштићени члан mz()
и јавни члан mj()
, да ли се и како може обезбедити да се у некој класи X
, која није у односу извођења са класама I
и О
, приступа методама (1) i.mp()
(2) i.mz()
, односно (3) i.mj()
, где је i
објекат класе I
?
в) Навести врсте и типове итератора у STL-у. Како се одређује врста, а како тип итератора?
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
niz+=pod
). У случају препуњења низа, његов капацитет се повећава за задати корак. Може да се дохвати број елемената низа, да се дохвати податак са задатим редним бројем (niz[ind]
), да се извади из низа податак са задатим редним бројем (остали елементи попуњавају упражњено место) и да се низ испразни. Недозвољен редни број при дохватању и вађењу елемента је грешка.
it<<roba
).
'?'
) и задату вредност (подразумевано 0). Може да се дохвати ознака артикла. У излазни ток се пише ознака артикла.
paket+=roba
). У излазни ток се пишу садржане робе унутар пара угластих заграда ([]
).
'?'
) и целобројну количину (подразумевано 0) које могу да се дохвате. Ставка може да се упише у излазни ток (it<<stavka
) у облику ознака/
количина.
it<<por
) у облику <
ставка,
ставка,…,
ставка>
.
prod+=art
). Продавница не може да се копира ни на који начин. Може да се одреди редни број места првог појављивања артикла са задатом ознаком (−1 ако нема), да се одреди колико комада артикла са задатом ознаком постоји у продавници, да се испита да ли у продавници постоје сви артикли у довољним количинама наведеним у задатој поруџбини, да се направи пакет од артикала наведених у задатој поруџбини (одабрани артикли се уклањају из продавнице; грешка је ако се поруџбина не може задовољити у потпуности) и да се продавница упише у излазни ток (it<<prod
) када се унутар пара витичастих заграда ({}
) за сваки артикал исписује ознака/
вредност.
(5 поена) Написати на језику C++ програм који направи продавницу са неколико артикала, испише продавницу на главном излазу, направи поруџбину са неколико ставки, испише поружбину на главном излазу, направи пакет на основу поруџбине и испише пакет и продавницу на главном излазу. Потребне податке читати с главног улаза.
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.