C++ programozás
Aki elvégezte a C programozás kurzust, annak ajánlatos egy lépcsőt feljebb lépnie, és betekintenie az objektum-orientált nyelvek világába. A C++ nyelv új kapukat nyit meg a programozók számára, hiszen segítségével könnyedén programozhatóak a gépek, weboldalak, de a modern számítógépes játékkészítés is elérhetővé válik.
Miről szól a C++ programozás oktatás?
A képzés előfeltétele a C programozási nyelv alapos ismerete, és a kurzus teljesítése. Ez azért fontos, mert a C nyelv elemei megtalálhatóak a C++ nyelvben, és ezen a képzésen már nem részletezzük azokat. A kurzus célja, hogy megismerkedj egy hatékony programfejlesztő nyelvvel és annak legfontosabb objektum-orientált eszközeivel.
1. Ismerkedés a C++ nyelvvel
Kicsit átismételjük a C programozás alapjait, és bemutatom a C++ újdonságait. Lesznek olyan elemek, amelyek megtalálhatóak a C nyelvben is, csak a funkciójuk változott, esetleg új szintaktikát kaptak.
Amiről szó lesz:
- C++ programok szerkezete (#include direktíva, szimbolikus állandók, névterek)
- Új típusok, konstansok (logikai típus, karakterláncok)
- Deklarációk (nevek, hatókörök, kezdeti értékadás, typedef)
- Felsoroló típusok
- String típus bemutatása, karakterlánc-kezelő függvények használata
- Alapvető I/O műveletek, inputellenőrzés
- Több fájlból álló programok készítése
Cél: Egyszerűbb C++ programok készítése és a nyelv újdonságainak használata.
Elsajátítási idő: 4 x 45 perc
2. Mutatók, tömbök és struktúrák
A C++ nyelvben az alap típusok felhasználásával hozhatunk létre komplexebb statikus és dinamikus adatszerkezeteket. Jelentős újítás a nyelvben a referencia típus bevezetése, ami egy adott változóhoz egy újabb hivatkozás definiálását teszi lehetővé.
Amiről szó lesz:
- Egydimenziós és többdimenziós tömbök inicializálása, használata
- A dinamikus memóriafoglalás új operátorai és hibakezelés
- Dinamikus tömbök létrehozása, kezelése, felszabadítása
- Tömbökre hivatkozó mutatók
- Referencia
- Struktúra változó, struktúra tömb használata
Cél: Az alapvető statikus és dinamikus adatstruktúrák megfelelő használata, valamint a változatos programozási stílus kialakítása.
Elsajátítási idő: 6 x 45 perc
3. Függvények
A nyelv központi elemei a függvények, hiszen minden feladatot velük végeztetünk el. A függvények mini programoknak is tekinthetőek, amelyek ha jól vannak megírva, hordozhatóvá válnak, és segítik a későbbi programozást.
Amiről szó lesz:
- Függvénydeklarációk, paraméterátadás, visszatérési érték
- Túlterhelt függvénynevek
- Alapértelmezett és nem meghatározott számú paraméterek
- Rekurzív függvények
- Függvényre hivatkozó mutatók
- Parancssori paraméterek használata környezeti változókkal
- Makrók
Cél: Komplexebb programozói gondolkodás kialakítása, valamint a hordozható és moduláris programozás alapjainak elsajátítása.
Elsajátítási idő: 6 x 45 perc
4. Tárolók
Hétköznapi példákon átnézzük a standard könyvtár legfontosabb tárolóit, és mindegyiknek bemutatom az erős és gyenge oldalait.
Amiről szó lesz:
- Vektor (index alapú hozzáférés)
- Lista (érték szerinti keresés)
- Asszociatív tömb (értékpárok tárolására szolgáló map típus)
- Bejárók használata
- Szabványos tárolók használata
Cél: Egy adott feladathoz a legjobban illeszkedő tároló kiválasztása és a C++ eszközkészleteinek magasabb szintű használata.
Elsajátítási idő: 6 x 45 perc
5. Objektum-orientált alapismeretek
Ebben a részben azzal foglalkozunk, hogy milyen lehetőségeket nyújt a C++ nyelv az új típusok meghatározására és használatára, illetve bemutatom az objektum-orientált programozásnak nevezett gondolkozásmódot és a legfontosabb eljárásokat.
Amiről szó lesz:
- Ismerkedés az objektum-orientált alapelvekkel: egységbezárás
- Osztályok, tulajdonságok és metódusok, láthatósági szabályok
- Konstruktor és destruktor
- Objektumok létrehozása, tulajdonságaik elérése, példányosítás
- Interfészek használata
- Generikus osztályok alkalmazása
- Dinamikus és statikus objektum tömbök
Cél: Az objektum-orientált fogalmak megismerése, osztályok és objektumok magabiztos használata.
Elsajátítási idő: 4 x 45 perc
6. Öröklődés
Nagyobb programoknál gyakran előfordul, hogy a létrehozott osztályok között szoros kapcsolat van, és sok a közös tulajdonságuk. Ebben az esetben hasznos a származtatás, ami az objektum-orientált nyelvek egyik jellegzetes tulajdonsága.
Amiről szó lesz:
- Származtatott osztályok és alaposztályok
- Konstruktorok hívási sorrendje
- Felüldefiniálás, hozzáférések szabályozása
- Absztrakt osztályok
- Osztály hierarchiák, többszörös öröklődés
Cél: A nyelv adta öröklődési mechanizmus megismerése, és annak gyakorlati alkalmazása.
Elsajátítási idő: 4 x 45 perc
7. Kivételkezelés
Minden programban vannak váratlan hibák, amiket jelezni kell a felhasználók felé, és valahogy le kell kezelni őket. A C++ nyelvben ezekre külön fogalom létezik, a kivételkezelés.
Amiről szó lesz:
- A kivételek csoportosítása
- A kivételek elkapása
- Erőforrások kezelése
- Kivételek, amelyek nem hibák
- El nem kapott kivételek
Cél: A szabályos hibakezelés technikájának elsajátítása, ezzel növelve a felhasználói élményt és a program hatékonyságát.
Elsajátítási idő: 2 x 45 perc
8. Adatfolyamok
C++-ban lehetőségünk van be- és kimeneti fájlok kezelésére. Itt már valóban tényleges fájlokkal dolgozunk, nem pedig szimuláljuk azok működését.
Amiről szó lesz:
- Kimenet, bemenet
- Fájl- és karakterlánc-folyamok
- Ki- és bemeneti átmeneti tárak
- C stílusú ki- és bemenet
Cél: A programok és fájlok összekapcsolása, azok tartalmának ellenőrzött beolvasása és visszaírása.
Elsajátítási idő: 2 x 45 perc
Aki a fentiektől eltérő témakörökkel is szeretne megismerkedni, az is keressen bátran, hiszen személyre szabott kurzusok elvégzésére is lehetőséget biztosítok.
A C++ programozás Tatabánya területén és online is igénybevehető.
A személyes és online C++ programozás oktatás ára: 11.000 Ft / 45 perc
C++ programozás feladatok
Készítettem egy saját feladatgyűjteményt, amely nagyon jó kiegészítő a legtöbb C++ programozás könyv mellé, hiszen számtalan feladat segíti az egyes objektumorientált témakörök alapos elsajátítását. A Programozz Te is mesterfokon! Munkafüzet II. kötetéről elmondható, hogy nyelvfüggetlen, azaz minden objektumorientált programozási nyelv mellé kitűnően alkalmazható, hiszen olyan témaköröket tartalmaz, amelyek megtalálhatóak a programnyelvek többségében, és 105 feladatával kellő alapot nyújt a problémamegoldó képesség javításához.
Mire jó manapság a C++ programozás? Van jövője?
A C++ programozási nyelvet Bjarne Stroustrup fejlesztette ki a 80-as évek elején. A fő oka a C nyelv továbbfejlesztése volt, amelyet az alábbi lényeges dolgokkal egészített ki:
- Támogatja az adatabsztrakciót.
- Támogatja az objektum-orientált tervezést és programozást.
- Különböző hasznos kiegészítéseket biztosít a C nyelvi eszközeihez.
- Mindezek mellett megőrzi a C egyszerűségét és hatékonyságát.
A nyelv tervezésénél fontos szempont volt a C-vel való kompatibilitás. Ezt oly mértékben sikerült megvalósítani, hogy minden szintaktikailag helyes C program egyben egy szintaktikailag helyes C++ program is.
Sokak szerint még azért ilyen népszerű ez a nyelv a modern világban is, mert annak idején rengeteg kódot írtak vele, amik még mindig kifogástalanul működnek, és a cégek a mai napig nem tudtak, vagy nem is akartak megszabadulni tőlük. Az tény, hogy a 21. század elejére a C++ programozás jelentősen vesztett a népszerűségéből, sok programozó szívesebben használ Java vagy C# programnyelvet a hasonló feladatokra, mivel azok szintaktikája sokkal egyszerűbb és könnyebben használhatóak. De ez még nem elég indok arra, hogy a nyelv használata kimenjen a divatból, hiszen a felhasználási területe nagyon széles, és az általa elérhető gyorsaság rendkívül vonzó az iparban és olyan alkalmazásokon, ahol a sebesség kritikus tényező.
Néhány modern példa a C++ programozás alkalmazására:
- Az okos háztartási gépek nagy részének beágyazott rendszerei mind-mind C++ alapon működnek (mosógépek, kávéfőző gépek), de az önvezető autók villámgyors képfeldolgozó rendszerei és navigációs programjai is használják. A C++ a neurális hálók és a mesterséges intelligencia közkedvelt nyelve is, hiszen ezek a technológiák rendkívül időigényesek és nagy mértékben használják a processzorokat, és itt olyan nyelvre van szükség, ami gyors és rövid reakcióidővel rendelkezik.
- A Google, a YouTube, az Amazon, a Facebook és a Twitter is C++ nyelvet használ a weboldalának backend programozására. Hogy miért? Szintén a méret és a gyorsaság miatt. A C++ nyelven megírt kódok sokkal gyorsabban futnak, mint a hagyományos PHP kódok, amivel sokkal gyorsabb felhasználói kiszolgálást tesznek lehetővé.
- Aki ismeri a számítógépes játékokat, az tudja, hogy az utóbbi időben rohamosan megugrott a játékok grafikája, ami szintén a C++ rovására írható. A legnépszerűbb konzolok (Xbox, PlaySatation) is C++ motorral dolgoznak, és a játékfejlesztő cégek körében is népszerű. Néhány ismerős játékcím, amely motorja szintén C++ alapokon nyugszik: Far Cry, Crysis, Doom, Wolfenstein, Quake.
- A nyelv nem csak játékfejlesztésre alkalmas, hiszen a legfontosabb, széles körben elterjedt szoftvereket is C++ nyelven készítették el. Néhány példa: Windows, Linux, Mac OSX, Adobe Photoshop, MySQL.
Az sem utolsó szempont, hogy nagyon sok műszaki egyetemen kötelező tantárgyként oktatnak C++ programozási nyelvet, ráadásul az emelt szintű informatika érettségin is jó hasznát lehet venni a programozási feladat megoldásánál.
A C++ közel sem a legkönnyebben elsajátítható programozási nyelv, de ha a fentiek közül legalább egy is felkeltette az érdeklődésedet, akkor jobb, ha mihamarabb megbarátkozol vele.
Úgy érzed, belevágnál a C++ programozásba? Keress bizalommal!