kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát
Kiadó: | Kiskapu Kft. |
---|---|
Kiadás helye: | Budapest |
Kiadás éve: | |
Kötés típusa: | Ragasztott papírkötés |
Oldalszám: | 537 oldal |
Sorozatcím: | Tanuljuk meg 24 óra alatt |
Kötetszám: | |
Nyelv: | Magyar |
Méret: | 24 cm x 19 cm |
ISBN: | 978-963-9637-38-2 |
Megjegyzés: | CD-melléklettel. Fekete-fehér ábrákkal. |
BEVEZETÉS A C++ PROGRAMOZÁSI NYELVBE | |
Kezdő lépések | |
Előkészületek a programozáshoz | 3 |
A C++ nyelvjárásai (C++, ANSI C++, ISO C++ és a Windows) | 4 |
A fordító telepítése és beállítása | 5 |
Telepítés a CD-ről | 6 |
A Borland C++BuilderX fordító beállítása | 6 |
Fordítás a Borland C++BuilderX-szel | 8 |
A fordítóprogram és a szövegszerkesztő | 9 |
Fordítás és linkelés | 10 |
Fordítás az integrált fejlesztői környezetben | 10 |
Linkelés (összeszerkesztés) | 11 |
A fejlesztési ciklus | 11 |
HELLO.CPP - Az első C++ programunk | 13 |
Fordítási hibák | 15 |
Kérdések és válaszok | 16 |
Gyakorlatok | 16 |
Kvíz | 17 |
Feladatok | 17 |
Válaszok a kvízkérdésekre | 17 |
Egy C++ program részei | |
Mitől lehet jó választás a C++ nyelv | 19 |
Procedurális, strukturált és objektum-központú programfejlesztés | 21 |
A C++ nyelv és az objektum-központú programozás | 22 |
Beágyazás (encapsulation) | 23 |
Öröklődés és újrahasznosítás | 23 |
Többalakúság (polimorfizmus) | 24 |
Egy egyszerű program részei | 24 |
Az #inculde utasítás vizsgálata | 25 |
Elemzés soronként | 26 |
Megjegyzések | 28 |
A megjegyzések típusai | 28 |
Megjegyzések használata egy egyszerű programban | 29 |
Függvények | 30 |
Függvényhívások | 31 |
Függvények használata | 32 |
Függvényparaméterek használata | 33 |
Kérdések és válaszok | 34 |
Gyakorlatok | 35 |
Kvíz | 35 |
Gyakorlatok | 35 |
Válaszok a kvízkérdésekre | 35 |
Változók és állandók | |
Mi az a változó? | 37 |
Memóriafoglalás | 38 |
Az egész számok (Integer) mérete | 39 |
Signed és unsigned | 40 |
Alapvető változótípusok | 41 |
Egy változó meghatározása | 42 |
A kis- és nagybetűk eltérő jelentéséről | 42 |
Kulcsszavak | 43 |
Egynél több változó megadása egyszerre | 44 |
Értékek hozzárendelése a változókhoz | 44 |
Typedef | 45 |
Mikor használjunk short és mikor long típust | 47 |
Előjel nélküli egészek túlcsordulása | 47 |
Az előjeles egészek körbefordulása | 48 |
Állandók | 49 |
Lineáris állandók | 49 |
Nevesített (symbolic) állandók | 50 |
Állandó bevezetése a #define kulcsszóval | 50 |
Állandó bevezetése a const kulcsszóval | 51 |
Felsorolt (enumerated) állandók | 51 |
Kérdések és válaszok | 52 |
Gyakorlatok | 53 |
Kvíz | 53 |
Feladatok | 53 |
Válaszok a kvízkérdésekre | 54 |
Kifejezések és utasítások | |
Utasítások | 55 |
Üres helyek | 56 |
Összetett utasítások | 56 |
Kifejezések | 57 |
Operátorok | 58 |
Értékadó operátor | 58 |
Matematikai operátorok | 59 |
Matematikai és értékadó operátorok kombinálása | 60 |
Növelés és csökkentés | 60 |
Előtag (prefix) és utótag (postfix) operátorok | 61 |
Precedencia, avagy a műveletek végrehajtási sorrendje | 63 |
Egymásba ágyazott zárójelek összetett kifejezésekben | 64 |
Relációs operátorok | 65 |
Az if utasítás | 66 |
Az else ág | 67 |
Összetettebb if konstrukciók | 68 |
Kapcsos zárójelek használata egymásba ágyazott if utasítások esetén | 70 |
A logikai operátorokról bővebben | 73 |
Logikai ÉS | 73 |
Logikai VAGY | 74 |
Logikai NEM | 74 |
Relációk precedenciája | 74 |
Bővebben az igazság természetéről | 75 |
Kérdések és válaszok | 76 |
Gyakorlatok | 76 |
Kvíz | 76 |
Feladatok | 77 |
Válaszok a kvízkérdésekre | 77 |
Függvények | |
Mi is az a függvény? | 79 |
A függvények deklarálása és definiálása | 81 |
Függvények deklarálása | 81 |
Függvények definiálása | 83 |
Függvények megadása: összegzés | 84 |
Változók használata függvényeken belül | 85 |
Helyi változók | 86 |
Globális változók | 88 |
A függvények argumentumai | 89 |
Függvényhívás mint paraméter | 89 |
A paraméterek egyben helyi változók is | 90 |
Értékek visszaadása függvényből | 92 |
Függvények alapértelmezett paraméterei | 95 |
Függvények túlterhelése | 97 |
Inline függvények | 98 |
A függvények és a verem | 101 |
Kérdések és válaszok | 103 |
Gyakorlatok | 104 |
Kvíz | 104 |
Feladatok | 105 |
Válaszok a kvízkérdésekre | 105 |
Vezérlési szerkezetek | |
Ciklusszervezés | 107 |
A ciklusok őse: a goto utasítás | 107 |
Miért ne használjuk a goto utasítást? | 108 |
A while ciklus | 108 |
Bonyolultabb while utasítások | 109 |
A continue és a break | 111 |
while(1) - végtelen ciklusok | 113 |
A do...while ciklus | 114 |
A for ciklus | 117 |
Inicializáció, vizsgálat, léptetés | 117 |
Összetettebb for ciklusok | 119 |
Halmozott inicializáció és léptetés | 119 |
Üres utasítások a for ciklusfejben | 120 |
Üres for ciklus | 122 |
Egymásba ágyazott ciklusok | 123 |
A switch utasítás | 124 |
Kérdések és válaszok | 126 |
Gyakorlatok | 127 |
Kvíz | 127 |
Feladatok | 127 |
Válaszok a kvízkérdésekre | 128 |
OSZTÁLYOK | |
Alapvető osztályok | |
Mi a típus? | 131 |
Új típus létrehozása | 132 |
Osztályok és tagok | 132 |
Osztályok deklarálása | 133 |
Osztályok nevezéktana | 134 |
Objektum definiálása | 134 |
Osztályok és objektumok | 135 |
Osztályok tagjainak elérése | 135 |
Privát és publikus hozzáférés | 136 |
Osztálymetódusok létrehozása | 138 |
Konstruktorok és destruktorok, avagy az objektumok létrehozása és törlése | 140 |
Alapértelmezett konstruktorok | 141 |
A fordító által biztosított konstruktor | 141 |
Kérdések és válaszok | 144 |
Gyakorlatok | 144 |
Kvíz | 144 |
Feladatok | 145 |
Válaszok a kvízkérdésekre | 145 |
Az osztályokról - mélyebben | |
Konstans tagfüggvények | 147 |
Felület és megvalósítás | 148 |
Hová tegyük az osztály-deklarációt és a metódus-definíciókat? | 149 |
Helyben kifejtett (inline) megvalósítás | 150 |
Osztályok beillesztése más osztály adattagjaiként | 152 |
Kérdések és válaszok | 157 |
Gyakorlatok | 158 |
Kvíz | 158 |
Feladatok | 158 |
Válaszok a kvízkérdésekre | 159 |
MEMÓRIAKEZELÉS | |
Mutatók | |
A mutatók és használatuk megértése | 163 |
A memóriacím tárolása a mutatókban | 167 |
Mutatónevek | 169 |
A közvetett elérés operátor, avagy mutatók közvetett használata | 169 |
Mutatók, címek és változók | 170 |
Adatok manipulálása a mutatók használatával | 170 |
A mutatókban tárolt címek vizsgálata | 172 |
Miért jó mutatókat használni? | 174 |
A verem (stack) és a dinamikus memória (heap) | 175 |
A new kulcsszó használata | 176 |
A delete kulcsszó használata | 177 |
A memóriaszivárgás elkerülése | 179 |
Kérdések és válaszok | 180 |
Gyakorlatok | 181 |
Kvíz | 181 |
Feladatok | 181 |
Válaszok a kvízkérdésekre | 182 |
A mutatók kifinomult használata | |
Obektumok létrehozása a memóriában | 183 |
Objektumok törlése | 184 |
Adattagok elérése mutatókon keresztül | 185 |
Adattagok a dinamikus memóriában | 186 |
A this mutató | 188 |
Gazdátlan vagy "lógó" mutatók | 190 |
Konstans mutatók | 191 |
Konstans mutatók és konstans tagfüggvények | 191 |
Konstans this mutatók | 193 |
Kérdések és válaszok | 193 |
Gyakorlatok | 194 |
Kvíz | 194 |
Feladatok | 194 |
Válaszok a kvízkérdésekre | 194 |
Hivatkozások | |
Mi az a hivatkozás (referencia)? | 195 |
Hivatkozások létrehozása | 196 |
A "címe" operátor alkalmazása hivatkozásokra | 197 |
A swap() javítása mutatók segítségével | 203 |
A swap() újabb megvalósítása hivatkozásokkal | 204 |
Kvíz | 210 |
Feladatok | 210 |
Válaszok a kvízkérdésekre | 211 |
A hivatkozásokról és mutatókról - mélyebben | |
Hatékonyabb a cím szerinti paraméterátadás | 213 |
Mutassunk konstansra | 217 |
Hivatkozások, mint a mutatók kényelmes alternatívái | 219 |
Mikor használjunk hivatkozásokat, és mikor mutatókat? | 221 |
Ne adjunk vissza megszűnt objektumra mutató hivatkozást! | 222 |
A dinamikus memóriaterületen létrehozott objektumra mutató hivatkozás visszaadása | 223 |
Mutató, mutató, kié a mutató? | 226 |
Kérdések és válaszok | 227 |
Gyakorlatok | 227 |
Kvíz | 227 |
Feladatok | 228 |
Válaszok a kvízkérdésekre | 228 |
HALADÓ ESZKÖZÖK | |
A függvények kifinomultabb használata | |
Túlterhelt tagfüggvények | 231 |
Alapértelmezett értékek használata | 234 |
Hogyan válasszunk a túlterhelés és az alapértelmezett értékek használata között? | 236 |
Konstruktorok túlterhelése | 236 |
Objektumok inicializálása | 237 |
A másoló konstruktor | 237 |
Kérdések és válaszok | 242 |
Gyakorlatok | 243 |
Kvíz | 243 |
Feladatok | 243 |
Válaszok a kvízkérdésekre | 243 |
Operátorok túlterhelése | |
Hogyan terhelhetünk túl operátorokat | 245 |
Írjuk meg az inkrementáló függvényt | 247 |
A postfix (utótag) inkrementáló operátor túlterhelése | 248 |
A prefix és a postfix közötti különbség | 248 |
operator+ | 251 |
Az operator+ túlterhelése | 252 |
Az operátortúlterhelés korlátai | 254 |
Mit célszerű túlterhelni? | 254 |
operator= | 254 |
Konverziós operátorok | 258 |
Az int() operátor | 260 |
Kérdések és válaszok | 261 |
Gyakorlatok | 262 |
Kvíz | 262 |
Feladatok | 262 |
Válaszok a kvízkérdésekre | 263 |
Tömbök | |
Mi az a tömb? | 265 |
A tömbök elemei | 266 |
Tömbök túlírása | 268 |
Kerítésoszlop hibák | 268 |
Tömbök előkészítése | 269 |
Objektumtömbök | 270 |
Többdimenziós tömbök | 272 |
Többdimenziós tömbök inicializálása | 273 |
Néhány szó a memóriahasználatról | 275 |
Mutatótömbök | 276 |
Dinamikus memóriában tárolt tömbök deklarálása | 278 |
Tömb mutatója és mutatók tömbje | 278 |
Mutatók és tömbnevek | 279 |
Dinamikus memóriában létrehozott tömbök törlése | 281 |
Karaktertömbök | 282 |
Az strcpy() és az strncpy() függvények | 284 |
Karakterlánc-osztályok | 286 |
Kérdések és válaszok | 287 |
Gyakorlatok | 287 |
Kvíz | 287 |
Feladatok | 288 |
Válaszok a kvízkérdésekre | 288 |
ÖRÖKLŐDÉS ÉS TÖBBALAKÚSÁG | |
Az öröklődés | |
Mi az az öröklődés? | 291 |
Öröklődés és származtatás | 292 |
Modellezzük az öröklődést az Állatok Országával | 293 |
A származtatás szintaxisa | 294 |
Privát vagy védett? | 296 |
Konstruktorok és destruktorok | 298 |
Paraméterek átadása a báziskonstruktoroknak | 300 |
Függvények felülbírálata | 305 |
Túlterhelés vagy felülírás? | 307 |
A bázisosztály metódusainak elfedése | 307 |
A bázismetódus meghívása | 309 |
Kérdések és válaszok | 311 |
Gyakorlatok | 311 |
Kvíz | 311 |
Feladatok | 311 |
Válaszok a kvízkérdésekre | 312 |
A többalakúság és a származtatott osztályok | |
A virtuális függvényekkel megvalósított többalakúság | 313 |
Hogyan működnek a virtuális függvények | 318 |
Nem juthatsz innen amoda | 319 |
Szeletelés (slicing) | 320 |
Virtuális destruktorok | 322 |
Virtuális másoló konstruktorok | 322 |
A virtuális függvények költségei | 326 |
Kérdések és válaszok | 326 |
Gyakorlatok | 327 |
Kvíz | 327 |
Feladatok | 327 |
Válaszok a kvízkérdésekre | 328 |
A többalakúság kifinomult használata | |
Problémák az egyszeres öröklődéssel | 329 |
Elvont adattípusok | 334 |
Üres virtuális függvények | 338 |
Az üres virtuális függvények megvalósítása | 342 |
Az elvonatkoztatás összetett hierarchiája | 345 |
Mely típusok elvontak? | 349 |
Kérdések és válaszok | 350 |
Gyakorlatok | 351 |
Kvíz | 351 |
Feladatok | 351 |
Válaszok a kvízkérdésekre | 352 |
Láncolt listák | |
Láncolt listák és egyéb struktúrák | 353 |
Esettanulmány a láncolt listák használatáról | 355 |
A felelősség átruházása | 355 |
Az alkotórészek | 355 |
Mi a láncolt listák tanulsága? | 364 |
Kérdések és válaszok | 365 |
Gyakorlatok | 366 |
Kvíz | 366 |
Feladatok | 366 |
Válaszok a kvízkérdésekre | 366 |
KÜLÖNLEGESSÉGEK | |
Különleges osztályok, függvények, mutatók | |
Statikus tagváltozók | 369 |
Statikus tagfüggvények | 372 |
Egymást tartalmazó osztályok | 374 |
A tartalmazott osztály tagjainak elérése | 380 |
A tartalmazott osztály elérésének korlátozása | 380 |
A tartalmazás költsége | 381 |
Érték szerinti és hivatkozás szerinti másolás | 381 |
Baráti viszonyban levő osztályok | 381 |
Baráti viszony függvények között | 382 |
Függvénymutatók | 382 |
Rövidített írásmód | 386 |
Függvénymutatók tömbje | 386 |
Függvénymutatók áadása más függvényeknek | 389 |
A typedef használata függvénymutatókkal | 391 |
Tagfüggvényekre vonatkozó mutatók | 394 |
Tagfüggvényekre vonatkozó mutatókból álló tömbök | 397 |
Kérdések és válaszok | 400 |
Gyakorlatok | 400 |
Kvíz | 400 |
Feladatok | 401 |
Válaszok a kvízkérdésekre | 401 |
Az előfeldolgozó | |
Az előfeldolgozó és a fordító | 403 |
A köztes állapot mentése | 404 |
A #define direktíva használata | 404 |
A #define használata állandókkal kapcsolatban | 405 |
A #define és az #ifdef használata vizsgálatok végzésére | 405 |
Az #else direktíva | 406 |
Beszúrás és annak vezérlése | 407 |
Szimbólumok definiálása a parancssorban | 409 |
A meghatározottság megszüntetése | 409 |
Feltételes fordítás | 409 |
Makróként megvalósított függvények | 410 |
Mi ez a rengeteg zárójel? | 411 |
Makrók, függvények, sablonok | 413 |
Karakterláncok kezelése | 414 |
A szöveggé alakító (stringizing) operátor | 414 |
Az összefűző operátor | 414 |
Előre meghatározott makrók | 415 |
Az assert() beépített makró | 416 |
Nyomkövetés és assert() makró segítségével | 418 |
A makrók mellékhatásai | 418 |
Osztályinvariánsok | 420 |
Köztes értékek kiíratása | 425 |
Nyomkövetési szintek | 426 |
Kérdések és válaszok | 432 |
Feladatok | 433 |
Kvíz | 433 |
Gyakorlatok | 433 |
Válaszok a kvízkérdésekre | 434 |
Objektum-orientált elemzés és tervezés | |
A fejlesztési ciklus | 435 |
Egy riasztórendszer szimulációja | 436 |
Koncepcióterv | 437 |
Elemzés és az igények felmérése | 437 |
Magas és alacsony szintű tervezés | 438 |
Egyéb objektumok | 439 |
Milyen osztályaink lesznek? | 439 |
Hogyan jelezzük a riasztásokat? | 440 |
Eseményhurkok | 441 |
PostMaster: egy esettanulmány | 443 |
Mérj kétszer, vágj egyszer | 444 |
Oszd meg és uralkodj | 444 |
Üzenetformátum | 445 |
Az osztályok kezdeti terve | 446 |
Egy vagy több kiindulópontú hierarchia | 447 |
Interfészek tervezése | 449 |
Prototípus létrehozása | 450 |
A 80/80-as szabály | 451 |
A PostMasterMessage osztály tervezése | 452 |
Az alkalmazásfejlesztői interfész | 452 |
Programozás nagy csoportokban | 454 |
A tervezési folyamattal kapcsolatos szempontok | 454 |
Tervezési döntések | 455 |
Mikor hozzunk döntéseket? | 455 |
Munka a vezérlőprogramokkal | 456 |
Kérdések és válaszok | 463 |
Gyakorlatok | 463 |
Kvíz | 463 |
Feladatok | 464 |
Válaszok a kvízkérdésekre | 464 |
Sablonok | |
Mik azok a sablonok? | 465 |
A sablon példányosítása | 466 |
A sablon definíciója | 466 |
Sablontípus használata | 474 |
A szabványos sablonkönyvtár | 480 |
Kérdések és válaszok | 481 |
Gyakorlatok | 481 |
Kvíz | 481 |
Feladatok | 482 |
Válaszok a kvízkérdésekre | 482 |
Kivételek, hibakezelés és néhány tanácsadás | |
Programhibák, tévesztések, kódmegromlás | 483 |
Váratlan események kezelése | 485 |
Kivételek | 485 |
Hogyan valósítsuk meg a kivételkezelést? | 486 |
A try és catch blokkok használata | 491 |
A kivételek elkapása | 491 |
Több catch megadása | 492 |
HIvatkozás elkapása - többrétegűség a kivételkezelésben | 492 |
Hogyan írjunk professzionális minőségű programokat? | 496 |
Zárójelek | 497 |
Hosszú sorok | 498 |
A switch utasítások | 498 |
A program szövege | 498 |
Azonosítónevek | 499 |
A nevek betűzése és a nagybetűk kérdése | 499 |
Megjegyzések | 500 |
Hozzáférés | 501 |
Osztálydefiníciók | 501 |
Beemelendő állományok | 501 |
assert() | 502 |
const | 502 |
További források | 502 |
Hol kapunk segítséget és tanácsokat | 502 |
Ajánlott olvasmányok | 503 |
Kérdések és válaszok | 504 |
Gyakorlatok | 504 |
Kvíz | 504 |
Feladatok | 504 |
Válaszok a kvízkérdésekre | 504 |
Függelékek | |
A bináris és a hexadecimális számrendszerek | 507 |
Gyakran használt kifejezések | 519 |
Tárgymutató | 531 |
Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.