Laslo Kraus |
Programski jezik C++ sa rešenim zadacima Ispravke uz deveto izdanje |
---|
Mesto | Pogrešno | Ispravno | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
strana: 30 red: ↓17 | (s12 )
| (s21 )
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 34 red: ↑17 | Upućivač na nepromenljivu lvredost u6 inicijalizovan je izrazom (promenljivomkdvrednošću). | Upućivač na nepromenljivu lvredost u7 inicijalizovan je izrazom (promenljivom dvrednošću). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 36 red: ↑16 |
povecaj(x); // x je još uvek 1. povecaj(x+1); // U redu: može i dvrednost. |
povecaj(x); // GREŠKA: ne može lvrednost. povecaj(x+1); // U redu: dvrednost može. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 36 red: ↑12 | Ako je argument lvrednost (x ), napravi se njegova kopija kao privremeni podatak (dvrednost) i taj se dostavlja funkciji. Po povratku iz funkcije povecaj, vrednost promenljive x je neizmenjena.
| Argument ne može biti lvrednost (x ).
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 50 red: ↓2 | Mogu da se inicijalizuju samo pojedinačni podaci (prosti tipovi, nizovi, strukture i unije). | Mogu da se inicijalizuju samo pojedinačni podaci (prosti tipovi, strukture i unije). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 50 red: ↑21 | Nula (NULL ) kao operand
| Nula (nullptr ) kao operand
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 50 red: ↑12 | kada taj podatak više ne postoji. | kada taj podatak više nije potreban. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 61 red: ↑2 | using Alfa::a; // Da se koristi Alfa::a. int w = a; Naredbom using naznačeno je da pod identifikatorom a treba podrazumevati
identifikator a iz prostora imena Alfa . Posle toga identifikator a može
da se koristi neposredno. Bez obzira na to što postoji i identifikator a iz prostora imena Beta .
| « Treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 69 red: ↓15 | RAND_MAX+1.) * 10)
| RAND_MAX+1.) * 10))
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 79 red: ↓19 | Kao što se iz primera 3.5 vidi, | Kao što se iz primera 3.7 vidi, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 79 red: ↑9 | iz primera 3.5 (▤76) | iz primera 3.7 (▤79) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 80 red: ↑16 | iz primera 3.5 (▤76) | iz primera 3.7 (▤79) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 81 red: ↓10 | U ut = 1;
| U u5 = 1;
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 82 red: ↓1 | iz primera 3.5 (▤76) | iz primera 3.7 (▤79) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 82 red: ↓16 | Tada tela polja novog objekta | Tada polja novog objekta | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 85 red: ↑3 | (=deleted )
| (=delete )
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 89 red: ↑18 | Ako se memorija dodeljuje nizu objekata pomoću operatora new , inicijalizator ne sme da se navodi i koristiće se podrazumevani konstruktor za inicijalizaciju elemenata niza. Naravno, opet po rastućim vrednostima indeksa elemenata. Greška je ako ne postoji dostupan podrazumevani konstruktor.
| « Treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 96 red: ↑7 |
constexpr int a, c[3]; constexpr double d; |
constexpr int V::a, V::c[3]; constexpr double V::b; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 97 red: ↓4 | ne može da se navede modifikator const
| ne mogu da se navedu modifikatori const , volatile , & i &&
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 102 red: ↓1 | // pf je pokazivac na metode void(int).
| // pm je pokazivac na metode void(int).
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 102 red: ↓5 | na funkcije f.
| na funkcije g.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 135 red: ↑11 | kopirajućeg konstruktora | konvertujućeg konstruktora | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 136 red: ↑12 | kopirajući konstruktor | konvertujući konstruktor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 139 red: ↑11 | kopira svoja polja | kopira sva polja | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 140 red: ↓17 | Implicitna premeštajuća dodela vrednosti automatski se briše (=deleted ) ako u klasi postoji eksplicitno definisan kopirajući konstruktor, destruktor ili operatorska funkcija za dodelu vrednosti.
| Implicitna premeštajuća dodela vrednosti automatski se briše (=delete ) ako u klasi postoji eksplicitno definisan kopirajući konstruktor, destruktor ili operatorska funkcija za kopirajuću dodelu vrednosti.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 148 red: ↓19 | sve dok se ne naiđe na klasu čija operatorska funkcija vraća pokazivač na neku klasu. Tada se, konačno, pristupa članu te klase, a koji je naveden u prvobitnom izrazu. | sve dok se ne naiđe na klasu čija operatorska funkcija vraća pokazivač na objekat neke klase. Tada se, konačno, pristupa članu tog objekta, a koji je naveden u prvobitnom izrazu. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 154 red: ↓11 | i!=j, ++i
| i!=j; ++i
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 154 red: ↑18 | odnosno neku prepoznatljivu vrednost koju će da vraća i metoda begin kada dođe do kraja zbirke;
| odnosno neku prepoznatljivu vrednost kojom se označava dolazak do kraja zbirke; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 160 red: ↑12 | Ako se lambda funkcija nalazi u blokovskom dosegu, mogu da se koriste samo automatski podaci i parametri okružujuće funkcije (ne i globalni podaci ili članovi okružujuće klase). | « Treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 160 red: ↑8 | , pod uslovom da je ona jedina naredba u telu lambda funkcije. Inače, tip je void
| « Treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 161 red: ↓13 | Povratna vrednost je tipa void samo ako na osnovu return naredbi ne može da se izvede jednoznačan zaključak.
| Greška je ako na osnovu return naredbi ne može da se izvede jednoznačan zaključak.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 163 red: ↓10 | Ne može da pristupa automatskim podacima (b ) iz okružujuće funkcije (fun ), niti da koristi pokazivač this za pristup nestatčkim članovima (polju d i metodi m1 ) okružujuće metode (fun ).
| Ne može da pristupa automatskim podacima (d ) iz okružujuće funkcije (fun ), niti da koristi pokazivač this za pristup nestatčkim članovima (polju b i metodi m1 ) okružujuće klase (Klasa ).
strana: 164 | red: ↑12 novi okružujući objekti … Takođe, okružujući objekti … ugrađene ( | implicit )
novi omotački objekti … Takođe, omotački objekti … ugrađene ( | inline )
strana: 165 | red: ↓15 u omotačkoj klasi lambda funkcije postoji još jedna metoda:
| u omotačkoj klasi lambda funkcije koja ne zahvata ništa postoji još jedna metoda:
| strana: 177 | red: ↓9 predstavlja 3x2-2x+5
| predstavlja 3x2-2x+5
| strana: 196 | red: ↓2 To znači da privatni članovi osnovne klase nikako ne mogu da se uvoze, a zaštićeni mogu samo u izvedenim klasama.
| To znači da privatni članovi osnovne klase nikako ne mogu da se uvoze.
| strana: 196 | red: ↑22 Klasa | B je javno izvedena
Klasa | B je privatno izvedena
strana: 196 | red: ↓9 Klasa | C je javno izvedena iz klase B . Sva su njena polja nasleđena od klase B . Ne može da koristi polje f , iako je u klasi A ono javno, ali u klasi B je postalo privatno.
Klasa | C je javno izvedena iz klase B . Ne može da koristi polje f , iako je u klasi A ono javno, ali u klasi B je postalo privatno.
strana: 199 | red: ↑19 Zato može da se navede i više konstruktora osnovnih klasa.
| Zato kod ne-delegirajućih konstruktora može da se navede i više konstruktora osnovnih klasa.
| strana: 207 | red: ↓11 metoda je konačna (final method) i ne mogu iz nje dalje da se izvode klase. Drugim rečima, ne može biti natklasa drugim klasama.
| metoda je konačna (final method).
| strana: 207 | red: ↑10 Osn::m1()
A::m1()
strana: 207 | red: ↑5 Osn::Vm1()
B::vm1()
strana: 211 | red: ↑16 … strana: 212 red: ↓13 U definiciji izvedene klase iza imena može da se stavlja modifikator | explicit . …… Napomena: Postoje prevodioci za jezik C++ koji ne prihvataju modifikator explicit za klase i modifikator new za metode.
« Navedeno pravilo nije ušao u Standard – ceo tekst treba izbaciti. »
| strana: 222 | red: ↑11 i ↑2 for (tek=prvi;
for (Elem* tek=prvi;
strana: 246 do 249
|
strana: 253 | red: ↓14
| tip fun ( parametri ) try { // telo funkcije catch ( tip ident ) telo … catch ( tip ident ) telo
| tip fun ( parametri ) try { // telo funkcije } catch ( tip ident ) telo … catch ( tip ident ) telo strana: 254 | red: ↑8 U telu konstruktora klase | A
U telu konstruktora klase | B
strana: 259 | red: ↑14 Metodu | brisi pozivaju premeštajući konstruktor, destruktor i premeštajuća metoda operator= .
Metodu | brisi pozivaju destruktor, kao i kopirajuća i premeštajuća metoda operator= .
strana: 260 | red: ↑21 i ↑2 6.2
| 6.3
| strana: 261 | red: ↑16 6.2
| 6.3
| strana: 261 | red: ↑16 « Nedostaje rezultat 6.1. »
| « Rezultat 6.1 ↵ »
| strana: 262 | red: ↓22 poruka == ""
poruka != ""
strana: 264 | red: ↓7 ima implicitnu definiciju ( | *default ).
ima implicitnu definiciju ( | =default ).
strana: 272 | red: ↓10 pošto se funkcija | min nalazi
pošto se funkcija | main nalazi
strana: 281 | red: ↓23 mora biti generička klasa
| mora biti klasa
|
| strana: 284 | red: ↓17
| class A { public: int* niz; int n; public:
| class A { int* niz; int n; public: strana: 290 | red: ↑9 svog paketskog parametra | f .
svog paketskog parametra | t .
strana: 293 | red: ↓9 funkcija | >> za upisivanje podataka
funkcija | << za upisivanje podataka
strana: 294 | red: ↓12 iz programa 6.13
| iz programa 7.2
| strana: 300 | red: ↑5 Ugnežđene klase mogu da budu generičke klase. Sama spoljašnja klasa može da bude obična (negenerička) ili generička klasa. Ugnežđene generičke klase mogu da se koriste na isti način kao i obične (negeneričke) ugnežđene klase. To znači da izvan spoljašnje klase mora operatorom za razrešenje dosega da se naznači pripadnost spoljašnjoj klasi. U slučaju generičke spoljašnje klase, naravno, oznaka klase mora da sadrži i parametre šablona.
| Ugnežđene klase mogu da budu generičke klase. Sama okružujuća klasa može da bude obična (negenerička) ili generička klasa. Ugnežđene generičke klase mogu da se koriste na isti način kao i obične (negeneričke) ugnežđene klase. To znači da izvan okružujuće klase mora operatorom za razrešenje dosega da se naznači pripadnost okružujućoj klasi. U slučaju generičke okružujuće klase, naravno, oznaka klase mora da sadrži i parametre šablona.
| strana: 304 | red: ↓21 std::rel ops;
std::rel_ops;
strana: 305 | red: ↓23 C
B
strana: 305 | red: ↑9 make_pair(const A&&, const B&&);
make_pair(A&&, B&&);
strana: 306 | red: ↓15 f()
operator()
strana: 310 | red: ↓3 Iteratori s više mogućnosti uvek mogu da se koriste za radnje nad zbirkama za koje su dovoljni iteratori s manje mogućnosti.
| Iteratori s manje mogućnosti uvek mogu da se koriste za radnje nad zbirkama za koje su dozvoljeni iteratori s više mogućnosti.
| strana: 311 | red: ↓8 i ↓18 videti §8.2.3, ▤318
| videti §8.2.3, ▤315
| strana: 315 | red: ↑2 iz primera 7.4
| iz primera 7.11
| strana: 321 | red: ↑10
| explicit queue(const Z& z); explicit queue(const Z&& z=Z()); explicit priority_queue(const U& u, const Z& z=Z()); explicit priority_queue(const U& u=U(), const Z&& z=Z()); explicit stack(const Z& z); explicit stack(const Z&& z=Z());
| explicit queue(const Z& z); explicit queue(Z&& z=Z()); explicit priority_queue(const U& u, const Z& z); explicit priority_queue(const U& u=U(), Z&& z=Z()); explicit stack(const Z& z); explicit stack(Z&& z=Z()); strana: 326 | red: ↑2 const string& |
Copyright © 2021, Laslo Kraus
Poslednja revizija: 14.7.2021.