Spisak zadataka obrađenih na vežbama u toku školske 2014/2015. godine
Materijali za vežbe (verzija od 25.12.2015.)
Zadatak za laboratorijsku vežbu
Termini vežbi i obrađene teme
Termin 1, 01.10.2014. (Predstavljanje predmeta, upoznavanje sa razvojnim okruženjem)
Ukratko o predmetu i materiji koju predmet pokriva. Način izrade i bodovanja domaćih zadataka i projekta.
Predstavljanje osnovnih koncepata objedinjenih razvojnih okruženja (IDE) i predstavljanje MSVC.
Zadaci 1.1 (standardni izlaz), 1.2 (standardni ulaz), 1.3 (rad sa dinamičkom memorijom), sa osvrtom na svaku novinu u C++, uz paralelu sa jezikom C i podsećanje na najznačajnije elemente jezika C.
Diskutovana razlika između C++ zaglavlja i C zaglavlja. Pomenut koncept imenskog prostora.
Termin 2, 08.10.2014. (Elementi jezika C++ koji nisu objektno orijentisani)
Zadaci: 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 usaglašeni sa važećim standardom za jezik C++.
Obrađen rad sa dinamičkom memorijom, detaljna diskusija o referencama i pokazivačima, prenos podataka sa i bez konverzije.
Osnovne razlike između malloc/free
i operatora new/delete
.
Definisanje konstantnih podataka.
Diskusija o organizaciji programskog koda i komentarisanju izvornih fajlova.
Termin 3, 15.10.2014. (Elementi jezika C++ koji nisu objektno orijentisani, uvod u klase)
Zadaci: 1.9, 1.10, 2.1, 2.2 pojmovi klase i instance; pojmovi const, friend i static, primeri njihove upotrebe;
Razlika izmedju friend funkcije i metode; konstrukcija projekta koji se sastoji od više fajlova.
Termin 4, 20.10.2014. (Klase, enkapsulacija podataka)
Zadaci: 2.2, 2.3
Diskusija o mutatorskim i inspektorskim metodama, pokazivac this
, prava pristupa, enkapsulacija podataka.
Utvrđivanje pojmova const, friend i static.
Diskusija o organizaciji koda i dizajnu reupotrebljivih programskih modula.
Termin 5, 27.10.2014. (Klase, konstruktori)
Zadaci: 2.4, 2.5
Podrazumevani konstruktor, konstruktor konverzije, konstruktor kopije, konstruktor sa više parametara; podrazumevane vrednosti argumenata funkcija.
Diskusija o automatskoj (implicitnoj) konverziji podataka.
Diskusija o životnom veku objekata, kao i o mehanizmu konstrkukcije i destrukcije objekata.
Ključna reč explicit
.
Napomene:
Zadatke koji su izmenjeni u odnosu na literaturu treba uporediti sa izvornim verzijama radi boljeg razumevanja učinjenih izmena.
Originalni programski kod TSS možete preuzeti odavde.
Verziju programskog koda spremnu za rad u MSVC 6 možete preuzeti odavde.
Verziju programskog koda usaglašenu sa standardom i spremnu za rad u MSVC 2005 možete preuzeti odavde.
Verziju programskog koda očišćenu od nepreglednih komentara možete preuzeti odavde.
UML model TSS možete preuzeti odavde.
Korišćena literatura
[1] D. Milićev, Objektno orijentisano programiranje na jeziku C++ - skripta sa praktikumom
[2] L. Kraus, Rešeni zadaci iz jezika C++, 2. izdanje
[3] L. Kraus, Programski jezik C++ sa rešenim zadacima, 7. izdanje