Professional Documents
Culture Documents
ASPTutorijal 2 Priprema
ASPTutorijal 2 Priprema
ASPTutorijal 2 Priprema
moete u definiciju klase dodati sve ono to je potrebno da pri radu sa izvedenim klasama
nikada ne dolazi do curenja memorije (npr. prilikom dodjele, slanja i vraanja iz funkcija
itd.);
omoguite da se izvedene klase mogu slati u funkciju preko konstantne reference (npr. float
dajProsjek(const Lista<float>& l) ) i da se nad tom referencom mogu pozivati sve metode
koje ima smisla pozivati.
Zadatak 2.
Napravite klasu NizLista izvedenu iz klase Lista. U ovoj klasi sve nabrojane metode trebaju biti
implementirane pomou obinog C++ niza. Nije dozvoljeno koritenje bibliotenih klasa (vector,
deque, list).
Zadatak 3.
Napravite klasu JednostrukaLista izvedenu iz klase Lista. Ovdje sve metode trebaju biti
implementirane pomou jednostruko povezane dinamiki alocirane liste. Koristiti dinamiku
alokaciju strukture Cvor. Takoer nije dozvoljeno koritenje bibliotenih klasa.
Napomene.
Napravite i krau main funkciju koja e osigurati da se klase kompajliraju i da sve metode rade
kako je opisano.
Pobrinite se da ne dolazi do curenja memorije, ilegalnog pristupa memoriji (visei pokaziva) i
slino prilikom bilo kakvog rada sa klasama (slanje objekta u funkciju, bez ili sa reference, vraanje
iz funkcije, pridruivanje povratne vrijednosti metode referenci itd. itd.)
Savjet: kod razvoja generikih klasa esto se deava da u nekoj metodi imate greku (ak i obinu
sintaksnu greku) koju ne vidite dok tu metodu ne pozovete. Dakle preporuuje se da u mainu
pozovete sve metode svih klasa!
Vane napomene:
Pripremne zadae za tutorijal, tutorijali i zadae se rade koristei c9 sistem koji se nalazi na
http://c9.etf.unsa.ba/. Potrebno je kodirati direktno u c9 sistemu. Nije dozvoljen copy paste iz
codeblocks okruenja u c9.
Ovo vrijedi i za redovne studente i za ponovce koji ponovo rade zadae.
Iako je krajniji rok za predaju poslije samih vjebi, pripremu je potrebno uraditi do samih vjebi
kako bi se mogao uraditi tutorijal. Dodatno vrijeme je postavljeno kako bi se eventualne greke
mogle doraditi do finalnog roka.
Za pripremne zadae e biti dostupan manji broj autotestova koji slue da se testira ispravnost
naziva funkcija i osnovne funkcionalnosti. Ostali autotestovi nisu dostupni kako bi se studentima
skrenula panja na vanost sopstvenog testiranja koda.
Ako neto nije reeno u zadatku, dozvoljeno je da zadatak uradite na koji god nain elite.
Pitanja tipa moe li ovo a nigdje ne pie da ne moe e biti ignorisana. Naravno, ako ste
odabrali neko rjeenje pa se pokae da se neki zahtjevi iz zadatka ne mogu tako uraditi, znai da
ste loe odabrali.