Oktatási cél: A tárgy a C nyelv alapfokú ismeretére alapozva, gyakorlati példákon keresztül vezeti be a hallgatókat a C++ nyelv használatába. Az előadások a gyakorlatokkal együtt kerülnek megtartásra. Az előadáson elhangzott elméleti anyagot a hallgatók rögtön PC-n, feladatokon keresztül sajátítják el. A gyakorlatokon tetszőleges C++ környezetet lehet használni. Ajánlott fejlesztői környezet a MS Visual Studio.
Tematika:
Fejlesztése folyamata
Forrás kód, tárgykód, könyvtárak
Bináris állomány generálásnak módjai, fordítás fázisai
Optimalizálás
Bevezetés a C++ – ba
Történeti áttekintés
Típusok, pointerek használata
Egy rövid pillantás a C++ – ra
– Bemeneti és kimentei stream használata
– Függvények prototípusa
Bővítések a C-hez képest
– Alapértelmezett függvény argumentum
– A változó definiciók helye
– A scope operátor
– Inline függvények
– Felsorolt típusok
– Függvénynevek átdefiniálása (overloaded functions)
– C függvény hívása C++ -ból
Hivatkozási típusok
– Fogalma, inicializálása
– Hivatkozási típus és a pointerek kapcsolata
– Mint függvény paraméter
– Mint függvény visszatérési érték
Kivételkezelés
– Fogalma, használata
– Kivétel osztály
Osztályok
Osztályok használata
– Új adattípus létrehozása C++-ban
– Osztály tagjai
– Objektum létrehozása és megszüntetése
– Hozzáférés az adattagokhoz
– Konstans objektumok és tagfüggvények
– Osztály, mint tagváltozó
– Header és forrás állományok használata
Osztályok és a dinamikus memória kezelés
– Memóriafoglalás
– Példák a new és a delete operátorok használatára
– Pointer, mint tagváltozó
– A this pointer
– Értékadás vagy inicializálás ?
– Copy constructor
Öröklődés (inheritance) és többrétűség (polymorphism)
– Kapcsolódó adatszerkezetek kezelése C++-ban
– Virtuális függvények
– Absztrakt osztályok
– Protected tagok
– Többszörös öröklődés
– Public, private, protected bázisosztályok
Az osztályok további tulajdonságai
– Static tagok, tagfüggvények
– Friend mechanizmus
– Objektum tömbök
– Operátorok átdefiniálása
– Osztály specifikus new és delete operátorok
– Névterek
– Argumentumfüggő névfeloldás
– Using használata
– Alias használata
Bevezetés a sablonok használatába
– Fogalma, használata
– Függvénysablonok
– Implicit,explicit használata
– Függvénysablon specializáció
– Template osztályok