Számítástechnikai Szakkönyvek Webáruház

Az Ön kosara üres.

Digitális fotós könyv 3.MySQL zsebkönyv

Programozzunk C++ nyelven!
Teljes méretű kép megtekintése


Programozzunk C++ nyelven!

Ár: 2 994 Ft.
2 695 Ft.
Kedvezmény: 10.00%

Kérdés felvetése a termékről

Az Ansi C++ tarnkönyve
CD - melléklet - CD melléklettel
Szerző: Tóth Bertalan
Megjelenés: 2003 május
332
oldal
ISBN: 963 618 301 5

A könyv előszava

Gondolatok a könyvről
A "Programozzunk C++ nyelven!" című könyv elsősorban azok számára íródott, akik most kezdenek ismerkedni napjaink programozási nyelveinek alapját képező C++ nyelvvel. Nem szükséges a teljes művet elolvasni ahhoz, hogy a feldolgozott témakört programok írásával mélyítse el az Olvasó. Amennyiben a feldolgozást sikeresnek ítéli meg, továbbléphet a következő fejezetre. Az önellenőrzéshez a CD-mellékleten található C++ fejlesztőeszköz, tesztprogram és feladatok nyújtanak segítséget.
A könyv azok számára is értékes szakirodalom lehet, akik ugyan már programokat írnak C++ nyelven, azonban a C++ nyelvnek még nem minden területén mozognak otthonosan. A fejezetek a címükben szereplő témakört teljes részletességgel és példák sokaságával tárják az Olvasó elé.

A könyv felépítése
A könyv felépítése olyan, hogy folyamatosan olvasva meg lehet ismerkedni a C++ nyelvvel, valamint a legfontosabb könyvtári függvényekkel és osztályokkal. A C++ nyelv múltja, jelene és lehetséges jövőjének bemutatása után a könyv további fejezeteit három részre osztjuk.
Az első "A C++ mint egy jobb C nyelv" rész a C++ nyelv hagyományos programozást támogató lehetőségeit tárja az Olvasó elé. Ezek az ismeretek elsősorban a nem objektum-orientált programkészítés során hasznosíthatók.
A második "Az objektum-orientált C++ nyelv" című rész hat fejezeten keresztül az objektum-orientált programkészítés alapjaival ismerteti meg az Olvasót. A tárgyalás során a részletekben való elmélyülés helyett egy világos áttekintést adunk a témakörrel kapcsolatos fogalmakról és megoldásokról.
A harmadik rész valójában a könyv függeléke, azonban ennek ellenére egy sor hasznos információt tartalmaz a C++ nyelv könyvtári függvényeiről és osztályairól. Többek között bemutatjuk az adatbevitel és adatkivitel hagyományos és objektumos megoldásait, a karaktersorozatok kezelésének eszközeit, valamint a szabványos sablonkönyvtár (Standard Template Library) összetevőit.

Mit található a CD-mellékleten?
A könyvhöz csatolt CD-melléklet azon túl, hogy megkíméli az Olvasót a példák unalmas begépelésétől, a kitűzött feladatok megoldását is tartalmazza. Ugyancsak megtalálható itt egy tesztprogram és a Dev-C++ 5.0 beta 7 (4.9.7.0) ingyenes C++ fejlesztőeszköz. A Dev-C++ szabad szoftver, amelyet a GNU General Public License alapján lehet terjeszteni. (Ez azt jelenti, hogy szabadon továbbadható és módosítható.)

Mitől más ez a könyv?
Könyvünk megírását évtizedes C/C++ oktatási gyakorlat előzte meg a Budapesti Műszaki Egyetem Gépészmérnöki Karán és Mérnöktovábbképző Intézetében. Ennek során szerzett tapasztalatok nagyban hozzájárultak könyvünk szerkezetének és tartalmának kialakításához. Ezúton is köszönetet szeretnénk mondani annak a több száz hallgatónak, akik közvetve ugyan, de hozzájárultak könyvünk megjelenéséhez.

Gondolatok a C++ nyelvről
A C++ hatékony, általános célú programozási nyelv. Segítségévek kis alkalmazások és nagy programok egyaránt előállíthatók. A C++ hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.

A múlt
A C nyelv alapelemeinek többsége a Martin Richards által kifejlesztett BCPL (Basic Combined Programming Language, 1963) nyelvből származik. Ez a származtatás közvetett módon - a B nyelven keresztül - ment végbe. A B nyelvet Ken Thompson dolgozta ki 1970-ben az AT&T Bell Laboratóriumok cégnél, és ezen a nyelven készült el az első UNIX operációs rendszer DEC PDP-7 számítógépre.
A B nyelv azonban nem bizonyult elég hatékonynak az új PDP-11 számítógép UNIX operációs rendszerének megírására. Mivel azonban a magas szintű nyelven történő implementációról nem akartak lemondani, Dennis Ritchie 1971-ben hozzálátott a B nyelv új változatának kidolgozásához, amit C-nek neveztek el. A felmerült problémák kiküszöbölésén kívül, Ritchie igyekezett a C nyelvbe visszahozni azokat az általános programozási elemeket, amelyek az Algol-60 nyelv "karcsúsítása" során kikerültek a BCPL és B nyelvekből.
Több éven át csak az AT&T UNIX operációs rendszerrel szállított C-fordító képviselte a C nyelv definícióját. Az 1978-ban megjelent, B.W. Kernigham és D. M. Ritchie által írt "The C Programming Language" című könyv szolgált a nem UNIX-alapú C-implementációk kiindulópontjául.
A C nyelv világméretű elterjedése összefügg a mikroszámítógépek megjelenésével. Bár ebben az időben még nem volt szabványa a C nyelvnek, azonban a K&R könyvben leírt függvények használatával lehetett olyan programot írni, amely a különböző mikro- és miniszámítógépeken lefordítva ugyanúgy futott. Megjelent az igény a szabványos C nyelv megalkotására, amely a gombamód szaporodó fordítók és gépek között biztosíthatja a C nyelvű forrásprogramok hordozhatóságát (portabilitását).
A C nyelvet több lépésben szabványosították. Az első (ANSI) szabvány 1983-ban jelent meg, így alapul szolgálhatott a C++ nyelv megformálásához. A ANSI C szabvány végleges változata (ANSI X3.159-1989) hat évi munka után, 1989-ben készült el. A C szabványt 1989-ben revízió alá vették (IOS/IEC), majd 1995-ben kibővítették a széles karakterek (wchar_t) használatának lehetőségével.
A C nyelv történetét itt le is zárhatnánk, napjainkban újabb C-fordítók már nem születnek.

A jelen
A C nyelv helyét, szerepét világszerte a C++ nyelv veszi át, melynek kifejlesztése az AT&T Bell Laboratóriumoknál dolgozó Bjarne Stroustrop nevéhez fűződik. Mint ahogy ismeretes, a C nyelvet szintén itt fejlesztették ki a 70-es évek elején. Így nem csoda, hogy a tíz évvel későbbi C++ fejlesztés a C nyelvre épült. A C nyelv ismerete ezért teljesen természetes kiindulópont a C++ nyelv megismeréséhez. Bjarne Stroustrop két fő szempontot tartott szem előtt a C++ kidolgozásánál:
1. A C++ nyelv legyen felülről kompatibilis az eredeti C nyelvvel.
2. A C++ nyelv bővítse ki a C nyelvet a Simula 67 nyelvben használt osztályszerkezettel (class).
Az osztályszerkezet, amely a C nyelv struct adatszerkezetére épült, lehetővé tette az objektum-orientált programozás (OOP) megvalósítását.
A C++ nyelv több szakaszban nyerte el mai formáját. A C++ Version 1.2 változata terjedt el először a világon (1985). A használata során felvetődött problémák és igények figyelembevételével Bjarne Stroustrop kidolgozta a Version 2.0 nyelvdefiníciót (1988). A jelentős változtatások miatt a régi C++ (1.2) nyelven írt programok általában csak kisebb-nagyobb javítások után fordíthatók le a 2.0-ás verziót megvalósító fordítóprogrammal. Az évek folyamán a C++ nyelv újabb definíciói (3.x) jelentek meg, azonban a lényeges újdonságok két nagy csoportba sorolhatók:
" kivételek (exception) kezelése,
" paraméterezett típusok, osztályok és függvények használata (templates, sablonok).
A C++ szabvány kidolgozásában az ANSI X3J16 és az ISO WG21 bizottságok vettek részt a 90-es évek első felében. Munkájuk eredményeként 1997 novemberében megszületett az ANSI/ISO C++ szabvány, melyre a napjainkban használt legtöbb C++ fordítóprogram épül.
Mielőtt elkezdenénk a szabványos C++ nyelv elemeinek bemutatását, le kell szögeznünk, hogy a C++ nyelv a C nyelv szintakszisára épülő önálló programozási nyelv. Alapvető eltérés a két nyelv között, hogy amíg a C nem típusos nyelv, addig a C++ erősen típusos, objektum-orientált nyelv.
A C programok többsége minden további nélkül átvihető C++ rendszerbe. Mivel a C++ nyelv "erősen típusos nyelv", a szükséges módosításokat általában a konverziók és a deklarációk területén kell elvégezni.

(Egy lehetséges) jövő
Napjainkban egyre több olyan programozási nyelv születik, melyek gyökere a C/C++ nyelvekből ered. Ilyen szemszögből tekintve elmondhatjuk, hogy a C++ nyelv átvette az Algol nyelvtől azt a szerepet, hogy más nyelvek is merítenek belőle.
A jövőben a C++ elsősorban a helyi (kliens) fejlesztések eszköze lesz, míg más területeken az újabb nyelvek hódítanak. Külön is érdemes kiemelni a hálózatos (Internetes) megoldásokhoz használt eszközök közül a Sun cég által támogatott Java nyelvet, és Microsoft hasonló célú fejlesztőeszközét, a C# (C sharp) nyelvet.

A könyv tartalomjegyzéke

Bevezetés

A C++, MINT EGY JOBB C NYELV

1. Első találkozás C++ nyelven írt programmal

2. A C++ nyelv alapelemei

2.1. A nyelv jelkészlete
2.2. A C++ nyelv azonosítói
2.3. Konstansok
2.3.1. Egész konstansok
2.3.2. Karakter-konstansok
2.3.3. Lebegőpontos konstansok
2.4. Sztringkonstansok (literálok)
2.5. Megjegyzések a programban
2.6. Operátorok és írásjelek

3. A C++ program szerkezete
3.1. Egyetlen modulból felépülő C++ program
3.2. Több modulból álló C++ program

4. Alaptípusok, változók és konstansok
4.1. A C++ nyelv típusai
4.1.1. Típuselőírások, típusmódosítók
4.1.2. Típusminősítők
4.1.3. A felsorolt típus (enum
)
4.2. Egyszerű változók definiálása
4.3. Saját típusok előállítása
4.5. Konstansok a C++ nyelvben
4.6. Értékek, címek, mutatók és referenciák
4.6.1. Balérték és jobbérték
4.6.2. Ismerkedés a mutatóval és a referenciával

5. Operátorok és kifejezések
5.1. Precedencia és asszociativitás
5.1.1. Az elsőbbségi (precedencia) szabály
5.1.2. A csoportosítási (asszociativitás) szabály
5.2. Mellékhatások és a rövidzár kiértékelés
5.3. Az elsődleges kifejezés operátorai
5.4. Aritmetikai operátorok
5.5. Összehasonlító és logikai operátorok
5.6. Léptető operátorok
5.7. Bitműveletek
5.7.1. Bitenkénti logikai műveletek
5.7.2. Biteltoló műveletek
5.8. Értékadó operátorok
5.9. Pointerműveletek
5.10. A sizeof operátor
5.11. A vessző operátor
5.12. A feltételes operátor
5.13. Az érvényességi kör (hatókör) operátor
5.14. A new és a delete operátorok használata
5.15. Futásidejű típusazonosítás
5.16. Típuskonverziók
5.16.1. Implicit típuskonverziók
5.16.2. Explicit típusátalakítások
5.17. Bővebben a konstansokról

6. A C++ nyelv utasításai
6.1. Utasítások és blokkok
6.2. Az if utasítás
6.2.1. Az if-else szerkezet
6.2.2. Az else-if szerkezet
6.3. A switch utasítás
6.4. A ciklusutasítások
6.4.1. A while ciklus
6.4.2. A for ciklus
6.4.3. A do-while ciklus
6.5. A break és a continue utasítások
6.5.1. A break utasítás
6.5.2. A continue utasítás
6.6. A goto utasítás
6.7. A return utasítás
6.8. Kivételek kezelése
6.9. Definíciók bevitele az utasításokba

7. Származtatott adattípusok
7.1. Tömbök, sztringek és mutatók
7.1.1. Egydimenziós tömbök
7.1.2. Mutatók és a tömbök
7.1.3. Karaktersorozatok (sztringek)
7.1.4. Többdimenziós tömbök
7.1.5. Mutatótömbök, sztringtömbök
7.1.6. Dinamikus helyfoglalású tömbök
7.2. Felhasználó által definiált adattípusok
7.2.1. A struct struktúratípus
7.2.2. A class osztálytípus
7.2.3. A union típusú adatstruktúrák
7.2.4. A bitmezők alkalmazása
7.2.5. Esettanulmány: önhivatkozó struktúrák használata - listaszerkezet

8. Függvények
8.1. Függvények definíciója és deklarációja
8.2. A függvények paraméterezése és a függvényérték
8.3. A függvényhívás
8.4. Különböző típusú paraméterek használata
8.4.1. Aritmetikai típusú paraméterek
8.4.2. Felhasználói típusú paraméterek
8.4.3. Tömbök átadása függvénynek
8.4.4. Sztringargumentumok
8.4.5. A függvény, mint argumentum
8.4.6. Alapértelmezés szerinti (default) argumentumok
8.4.7. Változó hosszúságú argumentumlista
8.4.8. A main() függvény paraméterei és visszatérési értéke
8.5. Rekurzív függvények használata
8.5.1. A rekurzív függvények csoportosítása
8.6. Inline függvények
8.7. Függvénynevek átdefiniálása (overloading)
8.8. Általánosított függvények (template)
8.9. Típusmegőrző szerkesztés (type-safe linking)
8.10. Esettanulmány: C++ deklarációk értelmezése és készítése
8.10.1. C++ deklarációk értelmezése
8.10.2. C++ deklarációk készítése

9. Névterek és tárolási osztályok
9.1. Az azonosítók élettartama
9.2. Érvényességi tartomány és a láthatóság
9.3. A kapcsolódás
9.4. Névterületek
9.4.1. Saját névterületek kialakítása és használata
9.5. A tárolási osztályok használata
9.5.1. Az auto tárolási osztály
9.5.2. Az extern tárolási osztály
9.5.3. A static tárolási osztály
9.5.4. A register tárolási osztály

10. Az előfeldolgozó (preprocesszor)
10.1. Állományok beépítése a forrásprogramba
10.2. Feltételes fordítás
10.3. Makrók használata
10.3.1. Szimbolikus konstans makrók készítése
10.3.2. Függvényszerű makrók készítése
10.3.3. Előre definiált makrók
10.4. A #line, az #error és a #pragma direktívák

AZ OBJEKTUM-ORIENTÁLT C++NYELV

11. Bevezetés az objektum-orientált C++ nyelvbe

12. Osztályok

12.1. Adattagok
12.2. Tagfüggvények
12.2.1. Konstans tagfüggvények és a mutable típusminősítő
12.3. Az osztály tagjainak elérése
12.4. Az osztályok friend mechanizmusa
12.5. Az osztály objektumai
12.6. Statikus osztálytagok használata
12.7. Osztálytagra mutató pointerek

13. Konstruktorok és destruktorok
13.1. Konstruktorok
13.1.1. A konstruktorok explicit paraméterezése
13.2. Tagobjektumok inicializálása
13.3. Konstans tagok inicializálása
13.4. Destruktor

14. Operátorok túlterhelése (operator overloading)
14.1. A léptető (++,--) operátorok túlterhelése
14.2. Az értékadó operátor átdefiniálása
14.3. Függvényszerű osztályok (functionoidok
) készítése
14.4. Felhasználó által definiált típuskonverzió
14.5. Az osztályok bővítése input/output műveletekkel
14.6. A new és a delete operátorok túlterhelése
14.7. A C++ nyelv bővítése saját típussal

15. Az öröklés (öröklődés) mechanizmusa
15.1. A származtatott osztályok
15.2. Az alaposztály inicializálása
15.3. Virtuális tagfüggvények - többalakuság (polimorfizmus)
15.3.1. A virtuális függvények újradefiniálása (redefine)
15.3.2. Virtuális destruktorok
15.4. Virtuális alaposztályok
15.5. Futás közbeni típusinformációk (RTTI) osztályok esetén
15.6. Kivételek és osztályok

16. Általánosított osztályok (templates)
16.1. Általánosított osztály definiálása
16.2. Specializáció és példányosítás
16.3. A sablonosztály "barátai" és statikus adattagjai
16.4. Érték- és alapértelmezett sablonparaméterek
16.5. A typename kulcsszó
16.6. Összetettebb sablonpélda

A C++NYELV KÖNYVTÁRA

F1. A szabványos C++ nyelv könyvtárainak áttekintése

F2. Adatok bevitele és kivitele

F2.1. A C-könyvtár alapvető I/O műveletei (cstdio
)
F2.1.1. Karakterek kiírása és beolvasása
F2.1.2. Karaktersorozatok kiírása és beolvasása
F2.1.3. Formázott adatbevitel és -kivitel
F2.1.4. Írás sztringbe és olvasás sztringből
F2.1.5. Az stdio és stdout adatfolyamok átirányítása
F2.2. A C++ alapvető I/O műveletei (iostream)
F2.2.1. Az műveletek
F2.2.2. I/O manipulátorok használata
F2.2.3. I/O manipulátorok készítése
F2.2.4. Írás sztringbe és olvasás sztringből
F2.3. Állományok kezelése
F2.3.1. Állománytípusok
F2.3.2. Szabványos C/C++ fájlkezelés
F2.3.3. A szabványos C++ állománykezelés

F3. A C-könyvtár legfontosabb elemei
F3.1. Karakterek osztályozása és átalakítása
F3.2. Konverziós függvények
F3.3. Memória-területek (pufferek) kezelése
F3.4. A dinamikus memória-kezelés függvényei
F3.5. Matematikai függvények
F3.6. Dátum- és időkezelő függvények
F3.7. Rendezés és keresés
F3.8. Egyéb hasznos függvények

F4. A Szabványos Sablonkönyvtár (STL) elemei
F4.1. Tárolók (konténerek)
F4.2. Iterátorok
F4.3. Algoritmusok
F4.4. Művelet-objektumok (functions)
F4.5. Allokátorok (allocators)

F5. Karaktersorozatok kezelése
F5.1. A C-könyvtár függvényei
F5.2. A string osztály használata

Irodalomjegyzék

Tárgymutató





Fogyasztói vélemények:

Még senki sem írt véleményt erről a termékről.
Kérem, jelentkezzen be és írjon egy véleményt.


Utoljára megtekintett termékek

Tematikus lista


Összes termék

Kapcsolat

1126 Budapest,
Tartsay Vilmos u. 12.
Levélcím:
1253 Budapest, Pf.:71.
Telefon:
3751-564, 3753-591
Fax.: 3753-591
E-mail: info@computerbooks.hu

Üzleti nyitvatartásunk:

hétfőtől csütörtökig
9.00 - 15.00 óráig

MKEH nyilvántartási szám:
C/003 807

Kiadványaink megrendelhetőek
telefonon,faxon vagy e-mailben.