Cilj:Upoznavanje sa paradigmom objektno orijentisanog programiranja i osposobljavanje studenata da projektuju i pišu složene objektno orijentisane programe na jeziku S++.
Ishod:Studenti će biti osposobljeni da uz pomoć savremenog razvojnog okruženja razviju složene programe na jeziku S++.
Ugrađeni i izvedeni tipovi. Dinamički i privremeni objekti. Memorijska oblast.
Neobjektno orijentisani elementi jezika 'C++'.
Klase u jeziku 'C++'. Konstruktori (preklapanje, konstruktor kopije, move konstruktor) i destruktori, članovi klase, zajednički članovi klase, prijatelji klase.
Pokazivai na članove klase.Nizovi i pokazivači.
Operatorske funkcije i preklapanje.
Nasleđivanje. Javno, privatno, zaštićeno.
Višestruko izvođenje. Izvedene klase i konverzije.
Konstruktori i destruktori izvedenih klasa. Virtuelni destruktori. Virtuelne klase.
Generičke funkcije i klase.
Izuzeci.
Standardna biblioteka klasa.
Niti.
Ulaz/izlaz.
Lambda.
Praktična nastava:
Praktična nastava prati program predavanja rešavanjem zadataka u računarskoj laboratoriji.
Literatura
L. Kraus (2011): Programski jezik C++ sa rešenim zadacima, osmo izdanje. Akademska misao, Beograd.
B. Stroustrup (1997): The C++ Programming Language.