Laslo Kraus |
Programski jezik C++ sa rešenim zadacima Ispravke uz peto izdanje |
---|
Mesto | Pogrešno | Ispravno | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
strana: 12 odeljak: 1.3.4 red: ↓8 | u četiri grupe | u tri grupe | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 16 red: ↑19 | Lokalni identifikatori imaju unutrašnje povezivanje, | Kod lokalnih identifikatora ne postoji pojam povezivanja, | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 28 odeljak: 2.3.2 red: ↓3 | za pojedine uloge konverzije | za pojedine uloge operatora konverzije | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 29 red: ↑6 | U trećoj naredbi … , a u četvrtoj naredbi | U četvrtoj naredbi … , a u petoj naredbi | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 38 red: ↓14 | konverzija koje i, ako | konverzija koje je definisao programer i, ako | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 44 red: ↓1 | i dve funkcije | i jedne funkcije | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 46 red: ↑9 | u datotečki doseg. | u blokovski doseg funkcije h() .
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 51 red: ↓15 | (int)rand() / ((RAND_MAX+1.) * 10)
| (int)(rand() / (RAND_MAX+1.) * 10))
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 57 red: ↑21 | samo za nepromenljive objekte. | samo za promenljive objekte. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 58 red: ↓17 | y.b = x.b + a;
| y.b = x.b + b;
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 60 odeljak: 3.5 red: ↓5 | U slučaju atributa | U slučaju zajedničkog atributa | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 66 red: ↑3 | niz elemenata objekata | niz objekata | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 68 red: ↑13 | objekata tipa Alfa
| objekata tipa Beta
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 73 Program 3.4 red: ↑4 | static void dodaj (int i) ;
| static void stavi (int i) ;
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 73 Program 3.5 red: ↓7 | if (! novi) exit (1);
| « Celu naredbu treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 74 red: ↓3 | U slučaju neuspeha, predviđen je prekid programa i povratak operativnom sistemu. | « Celu rečenicu treba izbaciti. » | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 79 odeljak: 4.1.2 red: ↓6 | { vrednost , vrednost , … }
| = { vrednost , vrednost , … }
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 79 red: ↑8 | u tački 0, | u tački 2.3.4, | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 80 odeljak: 4.1.3 red: ↓8 | moraju da se ne navedu. | moraju da se navedu. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 81 red: ↓9 | automatski koriste u odgovarajućim trenucima. | automatski koriste i/ili generišu u odgovarajućim trenucima. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 83 red: ↓6 | konstruktor kopije i
| konstruktor konverzije i
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strane: 98-100 | « Za logičke vrednosti na više mesta se koristi int , 0 i 1 . »
| « Nije pogrešno, ali u duhu jezika C++ treba koristiti bool , false i true . »
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 106 red: ↑8 | oba operanda | oba operatora | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 113 red: ↓9 | Na kraju, privremeni objekat se uništava automatski generisanim destruktorom (koji u ovom slučaju ne zadovoljava, jer ne oslobađa memoriju u dinamičkoj zoni!). | Na kraju, privremeni objekat se uništava destruktorom. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 119 red: ↓16 i 17 | ::operator delete
| ::delete
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 125 red: ↑15 | Iz tumačenja jednog operanda | Iz tumačenja jednog operatora | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 131 red: ↓2 | #include "poli.h"
| #include "poli1.h"
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 146 red: ↑6 |
class C { int c; }; class D : public A { int d; }; class E : public A, public B { int e; }; |
class C : public A { int c; }; class D : public A, public B { int d; }; class E : public D { int e; }; | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 147 red: ↓1 | specifični za klasu E ili ih je klasa E nasledila. | specifični za klasu D ili ih je klasa D nasledila. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 147 slika: 6.3 red: ↓1 | class V
| class V {
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 147 red: ↑7 | Redeklarisanje identifikatora unutar izvedene klase pokriva istoimeni član osnovne klase. Važno je naglasiti, da u slučaju metoda ovakvo redefinisanje identifikatora ne smatra se preklapanjem imena funkcija. Naravno, pod uslovom da metoda u izvedenoj klasi ima isti broj i tipove argumenata kao i u osnovnoj klasi. Član osnovne klase koji je pokrivanjem postao nevidljiv može, ipak, da se koristi i unutar izvedene klase pomoću operatora za razrešenje dosega ( :: ), tj. pomoću izraza oblika Osnovna_klasa::član .
| Redeklarisanje identifikatora unutar izvedene klase pokriva istoimeni član osnovne klase. Član osnovne klase koji je pokrivanjem postao nevidljiv može, ipak, da se koristi i unutar izvedene klase pomoću operatora za razrešenje dosega (:: ), tj. pomoću izraza oblika Osnovna_klasa::član . Posebno se naglašava, da, u slučaju metoda, sve istoimene metode u osnovnoj klasi postanu nevidljive, bez obzira na broj i tipove argumenata tih metoda u osnovnoj i u izvedenoj klasi.
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 149 odeljak: 6.4 red: ↓5 |
calss B : A { int b; } ; class C : A { int c; } ; class D : B, C { int d; } ; |
class B : public A { int b; } ; class C : public A { int c; } ; class D : public B, public C { int d; } ; | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 149 slika: 6.4.a gore-desno | |||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 149 red: ↑4 |
calss B : virtual A { int b; } ; class C : virtual A { int c; } ; class D : B, C { int d; } ; |
class B : public virtual A { int b; } ; class C : public virtual A { int c; } ; class D : public B, public C { int d; } ; | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 154 red: ↓13 | Metode među kojima se vrši izbor pripadaju istoj klasi, neposredno ili nasleđivanjem iz osnovne klase. | Metode među kojima se vrši izbor pripadaju istoj klasi. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 154 red: ↑14 | Tu se de facto radi o preklapanju imena metoda pa se izbor vrši na osnovu tipova argumenata. | Tada se radi samo o sakrivanju imena metoda (videti odeljak 6.3). | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 155 red: ↓18 | // Nije virt. metoda (samo preklapanje imena)!
| // Nije virt. metoda (samo pokrivanje imena)!
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 169 red: ↑11 i ↑2 | for (tek=prvi;
| for (Elem* tek=prvi;
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 170 red: ↑5 | za obradu zbirki | za obradu zbirki geometrijskih figura | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 171 red: ↑10 | Pošto se klase Figura i Iter u nastavku pominju samo kao pokazivački ili upučivački parametri ili vrednosti funkcija, dovoljno je da budu samo deklarisane.
| Pošto se klasa Iter u nastavku pominje samo kao pokazivački ili upučivački parametar ili vrednost funkcija, dovoljno je da bude samo deklarisana.
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 172 red: ↓7 |
class Figura; class Iter; |
#include "figura.h" class Iter; | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 178 red: ↑13 | apstraktne klase NIter .
| klase NIter .
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 182 red: ↑4 | *n+=0
| *niz+=0
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 183 program: 6.17 red: ↓6 | #include "trougao.h"
| #include "trougao1.h"
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 191 program: 6.21 red: ↓4 | #include "trougao.h"
| #include "trougao1.h"
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 201 odeljak: 7.5 red: ↓8 | virtual ~exception () throw (),
| virtual ~exception () throw ();
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 202 program 7.1 red: ↑6 | Vekt::operator[]
| operator[]
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 205 red: ↑5 | s jednim rukovaocem | s dva rukovaoca | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 206 red: ↓1, 2 i 6 | Vektor
| Vekt
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 215 red: ↓4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 222 red: ↑13 | { return strcmp(a,b) ? a : b; }
| { return strcmp(a,b)>0 ? a : b; }
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 223 red: ↑3 | typename V = Niz<short>
| typename U = Niz<short>
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 225 red: ↓10 | Vekt<float*,10>
| Vekt<float,10>
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 227 red: ↓2 |
// Generiše se A::A(int). // Generiše se A::A(double). // Generiše se A::A(char). // Generiše se A::m(int). // Generiše se A::m(char). // Generiše se A::m(double). |
// Generiše se A::A(int&). // Generiše se A::A(double&). // Generiše se A::A(char&). // Generiše se A::m(int&). // Generiše se A::m(char&). // Generiše se A::m(double&). | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 227 red: ↓25 |
// Generiše se A<int>::m(int). // Generiše se A<float>::m(char). // Generiše se A<float>::m(double). |
// Generiše se B<int>::m(int&). // Generiše se B<float>::m(char&). // Generiše se B<float>::m(double&). | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 227 red: ↑2 | // Generiše se C
| // Generiše se C
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 230 program: 8.4 red: ↓19 | Fuzija nizova celih brojeva:
| Fuzija nizova tacaka:
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 230 program: 8.4 red: ↑11 | Fuzija nizova celih brojeva:
| Fuzija nizova pravougaonika:
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 232 red: ↑10 | na osnovu šablona iz programa 8.6 | na osnovu šablona iz programa 8.5 | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 233 red: ↑3 | U drugom slučaju isti stek može, u isto vreme, da sadrži objekte različitih, ali srodnih, klasnih tipova. Na primer, klasa Stek u tački 6.11.2 sadrži različite vrste figura (tačnije pokazivače na figure) izvedene iz zajedničke osnovne klase Figura .
| U drugom slučaju isti stek može, u isto vreme, da sadrži objekte različitih, ali srodnih, klasnih tipova. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 234 red: ↓10 | po poretku i po opadajućem poretku. | po rastućem poretku i po opadajućem poretku. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 236 program: 8.10 red: ↓5 | #include "pravoug.h"
| #include "pravoug1.h"
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 237 rezultat: 8.3 red: ↓2 | % sortt
| % sortt <sortt.pod
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 239 red: ↓2 | Standard za jezik C++ definiše bogatu biblioteku gotovih klasa i funkcija za često korišćene tipove podataka i postupke. | Standard za jezik C++ definiše bogatu biblioteku gotovih klasa i funkcija za često korišćene strukture podataka i postupke. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 239 red: ↓8 | koje odgovarajuće radnje ostvaruju isto tako efikasno kao da su pisane upravo te tipove podataka. | koje odgovarajuće radnje ostvaruju isto tako efikasno kao da su pisane upravo za te tipove podataka. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 240 red: ↓3 | Ove funkcije omogućuju da za programer za svoje klase | Ove funkcije omogućuju da programer za svoje klase | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 240 red: ↑14 | pair<T,U> make_pair (const A&, const B&);
| pair<A,B> make_pair (const A&, const B&);
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 240 red: ↑2 | Par (a ,b ) je manji od para (c ,d ) ako je a<c||a==d&&b<d . Ostale relacije se izvode iz ove dve. U klasama T i U dovoljno je da su definisani operatori == i <.
| Par (a ,b ) je manji od para (c ,d ) ako je a<c||a==c&&b<d . Ostale relacije se izvode iz ove dve. U klasama A i B dovoljno je da su definisani operatori == i <.
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 242 red: ↓5 | pomoću operatora ~ .
| pomoću operatora ! .
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 245 red: ↓26 | 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: 246 red: ↑5 | cin << *i++);
| cin >> *i++);
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 248 red: ↑12 | novi kapacitet neće biti manji od broja elemenata niza (size() ).
| novi kapacitet neće biti manji od broja elemenata vektora (size() ).
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 249 red: ↓20 | i<size(),
| i<v.size();
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 249 red: ↑17 | a treća i četvrta za nepromenljive zbirke. | a druga i četvrta za nepromenljive vektore. | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 252 red: ↓17 |
void merge (list<T>& lst); template <class U> void merge (list<T>& lst, U u); |
void merge (list<E>& lst); template <class U> void merge (list<E>& lst, U u); | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 253 red: ↓1 | priority_queue
| priority_queue<>
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 253 red: ↓13 | prioritetne liste | prioritetnog reda | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 254 red: ↓19 | pair<K,P>
| pair<const K,P>
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 254 red: ↑20 | gde je u primerak klase U<K> .
| gde je u primerak klase U .
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 255 red: ↓17 | čiji ključ je jednak k ,
| čiji ključ je veći ili jednak k ,
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 255 red: ↑9 | sve elemente | kopije svih elemenata | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 256 red: ↑2 | iz odeljka 9.1.4 | iz odeljka 9.2 | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 260 red: ↓18 | u odeljku 9.1.4 | u odeljku 9.2 | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 260 red: ↑3 | Ako je prvi>=size()
| Ako je prvi>size()
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 261 red: ↓11 | bitova na 0. Treća metoda | bitova na 0. Četvrta metoda | |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 262 red: ↑19 | u(y,x) … u(y<x)
| u(x,y) … u(x<y)
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 262 red: ↑17 | u(x,y) … u(x<y)
| u(y,x) … u(y<x)
| |||||||||||||||||||||||||||||||||||||||||||||||||||
strana: 263 red: ↓21 | ItR transform (It prvi, It1 posl, ItR rez, Op1 f1
|
Copyright © 2021, Laslo Kraus
Poslednja revizija: 14.7.2021.