Ласло Краус |
ИР2ОО1 Испит 3. 10. 2005. |
---|
Реализовати на језику C++ следећи систем класа (класе опремити оним конструкторима, деструктором и оператором за доделу вредности који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
d1<d2
) и да ли су два датума једнака (d1==d2
). У излазни ток (ostream) се уписује изразом tok<<datum
у облику дан.
месец.
година.
static
) атрибуту који се користи из заједничке методе класе за дохватање текућег датума.
(
величина,
датум_стварања,
датум_измене)
изразом tok<<datot
и сажето у облику име_родитеља/…/
име_родитеља/
име_датотеке изразом dat.putanja(tok)
.
fasc+=&datot
) уз постављање фасикле као родитеља датотеке. Грешка је ако у фасцикли већ постоји датотека с истим именом. Датотека с датим именом може да се дохвати (fasc[ime]
) и да се избаци (fasc-=ime
) из фасцикле. Грешка је ако у фасцикли не постоји датотека с тим именом. Датум последње измене се мења при сваком додавању или избацивању датотеке. Величина фасцикле је збир величина свих садржаних датотека увећан за 100+10n, где је n број датотека у фасцикли. Може да се дохвати датотека која је последње мењана у фасцикли и њеним подфасциклама. Детаљни облик писања фасцикле је име(
величина,
датум_стварања,
датум_измене)[
датотека1,
датотека2,…]
.
/
". Може да се дохвати корена фасцикла на диску, да се одреди укупна величина свих датотека на диску и да се дохвати последње мењана датотека на диску.
(15 поена) Саставити на језику C++ функцију која прочита податке за једну датотеку с главног улаза и главни програм који помоћу претходне функције ствара један диск, смести на диск известан број датотека читајући податке с главног улаза, испише на главном излазу укупну величину датотека на диску и детаљне и сажете податке о датотеци која је последње мењана.
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) Које су разлике између механизама преклапања имена (name overloading) и редефинисања метода (overriding)?
б) Који проблеми везени за динамичку алокацију меморије се најчешће појављују у C++ програмима?
в) Када су глобалне пријатељске функције погодније од функција чланица (метода)?
г) Који је редослед позивања деструктора при деструкцији објекта изведене класе, ако и изведена и основна класа садрже класне атрибуте (податке чланове)?
д) Шта се догађа са необрађеним изузетком и како се може утицати на понашање програма у том случају?
Пројектовати на језику C++ следећи систем класа (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа специјалних једноставних класа):
+r
) и може да се упише у датотеку (dat<<r
).
R+=r
).
(
r+
r+…+
r)
, где су r резултати уписа садржаних отпорника.
[
r|
r|…|
r]
, где су r резултати уписа садржаних отпорника.
Copyright © 2010, Laslo Kraus
Последња ревизија: 30.8.2010.