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.