http://slidepdf.com/reader/full/us-objektno-orijentisano-programiranje-cpdf 1/214 http://slidepdf.com/reader/full/us-objektno-orijentisano-programiranje-cpdf 2/214 http://slidepdf.com/reader/full/us-objektno-orijentisano-programiranje-cpdf 3/214 http://slidepdf.com/reader/full/us-objektno-orijentisano-programiranje-cpdf 4/214 Sadraj Glava 1. Uvod u jezik C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1. Istorijat jezika C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2. Standardizacija jezika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3. Objektno orijentisane osobine jezika C++ . . . . . . . . . . . . . . . . . . . . . . . 11 1.4. Unošenje, prevodenje i izvršavanje C++ programa . . . . . . . . . . . . . . . . . . 13 1.4.1. Integrisana razvojna okruenja za programiranje (IDE) . . . . . . . . . . 15 1.4.2. Prevodenje i interpretiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.3. Konzolni i graficki programi . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.5. Prvi C++ program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Pitanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Glava 2. Tipovi podataka i operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1. Identifikatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2. Specijalni znakovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3. Ugradeni tipovi podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.1. Promenljive i konstante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.2. Celobrojni podaci (int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.3. Znakovni podaci (char) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3.4. Brojevi u pokretnom zarezu (float, double) . . . . . . . . . . . . . . . . . . 30 2.3.5. Logicki tip (bool) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4. Operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4.1. Operator dodele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4.2. Aritmeticki operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.3. Relacioni i logicki operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4.4. Definisanje sinonima za tipove podataka: typedef . . . . . . . . . . . . . 35 2.4.5. Operator sizeof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.6. Operator nabrajanja (,) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4.7. Osnovne operacije ulaza i izlaza . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.8. Prioritet i asocijativnost operatora . . . . . . . . . . . . . . . . . . . . . . . 37 2.5. Konverzija tipova (cast) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.6. Simbolicke konstante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Pitanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Glava 3. Naredbe za kontrolu toka programa . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.1. Blokovi naredbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 http://slidepdf.com/reader/full/us-objektno-orijentisano-programiranje-cpdf 5/214 4 Sadraj 3.2. Naredba if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2.1. Ugnjedene naredbe if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.2. If else if lestvica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.3. Uslovni izraz (operator ? :) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.3. Naredba switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4. Petlja for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.5. Petlja while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.6. Petlja do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.7. Naredbe break i continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.8. Ugnjedene petlje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.9. Naredba bezuslovnog skoka (goto) . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Pitanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Glava 4. Nizovi, stringovi i pokazivaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1. Jednodimenzionalni nizovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2. Višedimenzionalni nizovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3. Stringovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3.1. Ucitavanje stringa sa tastature . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.2. Funkcije C++ biblioteke za stringove . . . . . . . . . . . . . . . . . . . . . 72 4.4. Inicijalizacija nizova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.4.1. Inicijalizacija nizova bez dimenzija . . . . . . . . . . . . . . . . . . . . . . 74 4.5. Nizovi stringova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.6. Pokazivaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.6.1. Pokazivac NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.2. Operacije sa pokazivacima . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.6.3. Osnovni tip pokazivaca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.6.4. Dodela vrednosti promenljivoj preko pokazivaca . . . . . . . . . . . . . . 80 4.6.5. Pokazivacka aritmetika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.6. Pokazivaci i nizovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.7. Dinamicka alokacija memorije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Pitanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Glava 5. Funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.1. Argumenti funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2. Povratak iz funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.2.1. Funkcija exit() . . . . . . . . . . . . . . . . . .…