Ласло Краус |
ИР2ОО1/СИ2ОО1 Испит 4. 2. 2011. |
|---|
Одговорити концизно (једна или две реченице) и прецизно на следећа питaња:
а) Ког је типа и шта садржи резултат оператора new?
б) Да ли се у методи класе X, која је пријатељска метода класe Y, може директним именовањем приступати заштићеним и приватним члановима класе Y? Зашто?
в) Да ли се аутоматско генерисање функције из шаблона врши при позивању дате функције у време извршења или при првом наиласку на позив дате функције у време превођења? Зашто?
Написати на језику C++ следеће класе (класе опремити оним конструкторима, деструктором и оператором за доделу вредности, који су потребни за безбедно коришћење класа; грешке пријављивати изузецима типа једноставних класа које су опремљене писањем текста поруке):
T који се може копирати методом kopija(). Ствара се празан, почетног статички задатог капацитета N који се по потреби повећава за по N места. Може да се дохвати број ствари у низу, да се низу додаје ствар (niz+=&stvar) и да се приступи ствари са затим редним бројем (niz[ind]; грешка је ако је индекс изван опсега).
(15 поена) Порука садржи тело, адресу пошиљаоца и адресу примаоца (ниске знакова) који могу да се дохвате. Може да се направи динамичка копија поруке и да се порука упише у излазни ток (it<<poruka) у облику [пошиљалац|прималац]тело.
sanduce+=&poruka).
grupa+=&ucesnik). Копија примљене поруке се доставља свим члановима групе. Грешка је ако групa покуша да шаље поруку.
imenik+=&ucesnik) и да се дохвати учесник задате адресе (imenik[adresa]; грешка је ако се учесник не пронађе у именику).
(10 поена) Написати на језику C++ програм који формира један именик, једну групу учесника са два саговорника и трећег саговорника који пошаље једну поруку групи и једну поруку учеснику који не постоји у именику. Користити фиксне параметре (не треба ништа учитавати с главног улаза).
Copyright © 2011, Laslo Kraus
Последња ревизија: 29.8.2011.