
C/C++ programozás tanfolyam
Sajátítsa el a C és C++ nyelveket az alapoktól kezdve, lefedve mindent a nyers memóriától és mutatóktól a modern C++20 funkciókig, tervezési mintákig és párhuzamos rendszerekig. Ez a kurzus azt a technikai mélységet adja meg, amelyet a szakmai fejlesztők és rendszermérnökök ténylegesen használnak a munkájuk során. Akár beágyazott firmware-re, akár nagy teljesítményű alkalmazásokra vagy technikai interjúkra készül, valódi, éles környezetben használható készségekkel távozik.
Mit fogsz megtanulni:
Teljes alapot épít ki a C és C++ szintaxis, memóriakezelés és objektumorientált programozás területén, mielőtt továbblépne a sablonokra, a Standard Template Library-re és a modern C++17/20 funkciókra. A kurzus a semmiből megvalósított adatszerkezeteket és algoritmusokat fed le, így megszerzi a problémamegoldó készségeket, amelyek szükségesek a technikai interjúkhoz és rendszerszintű munkához. Megtanulja használni az ipari szabvány eszközöket, beleértve a CMake-t, GDB-t, Google Test-et és statikus elemzőket. A beágyazott és rendszerszintű programozási témák felkészítik a firmware- és alacsony szintű fejlesztésre. A kurzus végére képes lesz robusztus C++ szoftvereket tervezni, építeni és szállítani szakmai környezetben.
Hogyan tanulhatsz gyakorlatiasan C/C++ programozás tanfolyam
Hogyan gyakorolsz C/C++ programozás tanfolyam
Önnek, ha vállalatként szeretné képezni a csapatát
A Dedika vállalatoknak szóló képzésein a tanfolyam saját üzleti példákkal és gyakorlatokkal, az Ön cégének igényeihez igazítva érhető el.
A kurzus tartalma
8 Fejezet • 40 Óra4 és 360 óra közötti időtartam (te döntesz)
1. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseC/C++ környezet és szintaxis alapjai
C/C++ környezet és szintaxis alapjai
1. óra • Változók, típusok és literálok
Bemutatja a primitív adattípusokat, a változódeklarációt és a literálértékeket. A témakör elsajátítása lehetővé teszi a helyes adatreprezentációt a kurzus során.
2. óra • Bemenet és kimenet alapjai
Megtanítja a konzolos I/O-t a C-ben printf/scanf, C++-ban pedig a cin/cout használatával. Lehetővé teszi az interaktív programokat, amelyek minden gyakorlati feladathoz szükségesek.
3. óra • Operátorok és kifejezések
Lefedi az aritmetikai, relációs, logikai és bitenkénti operátorokat a precedenciaszabályokkal együtt. Fejleszti a kifejezésírási készséget, amely minden vezérlési szerkezethez és algoritmushoz szükséges.
4. óra • Alapvető szintaxis és programstruktúra
Lefedi a tokeneket, utasításokat, blokkokat és egy C/C++ forrásfájl szerkezetét. Közvetlenül kapcsolódik bármely érvényes program megírásához a későbbi fejezetekben.
5. óra • A fejlesztői környezet beállítása
Telepítsen és konfiguráljon fordítóprogramokat, szerkesztőket és build eszközöket C/C++-hoz. Biztosítja azt a technikai alapot, amelyre minden további fejezet épül.
2. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseVezérlési szerkezetek és függvények
Vezérlési szerkezetek és függvények
1. óra • Függvénydeklaráció és definíció
Bemutatja a függvényprototípusokat, a definíciókat és a meghívás mechanizmusát C/C++-ban. Lehetővé teszi a kurzus során használt moduláris tervezési elveket.
2. óra • Hatókör, élettartam és tárolási osztályok
Elmagyarázza a lokális, globális és statikus változók hatókörét és élettartamát. Megelőzi a nem inicializált vagy rossz hatókörű változókkal kapcsolatos gyakori hibákat.
3. óra • Rekurzió alapjai
Lefedi a rekurzív függvénytervezést, az alapeseteket és a verem viselkedését. Felkészíti a hallgatókat a későbbi fejezetek rekurzív algoritmusaira és adatstruktúráira.
4. óra • Feltételes utasítások
Lefedi az if, else-if és switch szerkezeteket a döntéshozatalhoz. Közvetlenül lehetővé teszi a logika által vezérelt programokat, amelyekre minden további fejezet épít.
5. óra • Ciklusok és iteráció
Megtanítja a for, while és do-while ciklusokat a ciklusvezérlő utasításokkal együtt. Az iteráció a később tárgyalt algoritmusok és adatfeldolgozás gerincét képezi.
3. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseTömbök, karakterláncok és mutatók
Tömbök, karakterláncok és mutatók
1. óra • C-stílusú karakterláncok és karakterlánc-függvények
Megtanítja a nullával lezárt karaktertömböket és a szabványos karakterlánc-könyvtári függvényeket. Biztosítja a C-karakterlánc alapot, amely a C++ std::string bevezetése előtt szükséges.
2. óra • Dinamikus memóriafoglalás
Megtanítja a malloc/free használatát C-ben és a new/delete használatát C++-ban a heap kezelésére. Lelapozza a következő fejezetben tárgyalt dinamikus adatstruktúrák alapjait.
3. óra • Egydimenziós és többdimenziós tömbök
Lefedi a tömbdeklarációt, inicializálást és az elemek elérési mintáit. A tömbök szinte minden, a kurzus későbbi részében bemutatott adatstruktúra alapját képezik.
4. óra • Mutatók és függvények
Lefedi a mutatók függvényeknek való átadását és a mutatók biztonságos visszaadását. Lehetővé teszi a hatékony adatkezelést szükségtelen másolás nélkül.
5. óra • Mutató alapok és cím-aritmetika
Bemutatja a mutatódeklarációt, a dereferálást és a mutatóaritmetikát. A mutatók központi szerepet játszanak a dinamikus memória és az alacsony szintű programozás terén a későbbi fejezetekben.
4. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseStruktúrák, uniók és felsorolások
Struktúrák, uniók és felsorolások
1. óra • Felsorolások és típus álnevek
Lefedi a C enumokat, a C++ enum class-t és a typedef/using deklarációkat. Javítja a kód áttekinthetőségét és típusbiztonságát minden további projektben.
2. óra • Bitmezők és tömörített adatok
Bemutatja a bitmezős struktúratagokat a tömör adatreprezentációhoz. Releváns a protokoll-elemzéshez és a hardverregiszter-leképezéshez a haladó témákban.
3. óra • Mutatók struktúrákhoz
Megtanítja a mutató alapú struktúra elérést és a dinamikus struktúrafoglalást. Lehetővé teszi a linkelt adatstruktúrákat, amelyek az algoritmusok fejezetben épülnek fel.
4. óra • Uniók és memóriamegosztás
Elmagyarázza a uniók szemantikáját, az átfedő tárolást és az érvényes használati eseteket. Alacsony szintű memóriaismeretet nyújt, amely releváns a beágyazott és rendszerprogramozásban.
5. óra • Struktúrák definiálása és használata
Lefedi a struct deklarációt, a tagok elérését és a beágyazott struktúrákat. A struktúrák a következő fejezetben bemutatott C++ osztályok közvetlen előzményei.
5. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseObjektumorientált programozás C++-ban
Objektumorientált programozás C++-ban
1. óra • Polimorfizmus és virtuális függvények
Bemutatja a virtuális függvényeket, a tiszta virtuális függvényeket és az absztrakt osztályokat. Lehetővé teszi a futásidejű dispatch mintákat, amelyek központi szerepet játszanak a bővíthető szoftvertervezésben.
2. óra • Öröklődés és osztályhierarchiák
Lefedi az egyszeres és többszörös öröklődést, az ősosztály elérését és a konstruktor láncolást. Fejleszti a hierarchia tervezési készségeit, amelyek a polimorfizmushoz szükségesek.
3. óra • Encapsulation és tervezési elvek
Alkalmazza a SOLID elveket és az enkapszulációs stratégiákat az osztálytervezésben. Felkészíti a hallgatókat karbantartható, tesztelhető C++ kód írására a haladó fejezetekben.
4. óra • Operátor túlterhelés
Megtanítja az aritmetikai, összehasonlító és adatfolyam operátorok túlterhelését egyedi típusokhoz. Lehetővé teszi az intuitív szintaxist a felhasználó által definiált osztályok számára a későbbi projektekben.
5. óra • Osztályok és objektumok
Lefedi az osztálydeklarációt, a hozzáférési specifikátorokat és az objektumpéldányosítást. Létrehozza azt az osztálymodellt, amelyet a fejezet összes OOP jellemzője kiterjeszt.
6. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseSablonok, STL és generikus programozás
Sablonok, STL és generikus programozás
1. óra • STL algoritmusok
Lefedi a sort, find, transform, accumulate és más szabványos algoritmusokat. Az STL algoritmusok alkalmazása lecseréli a hibára hajlamos kézi ciklusokat a termelési kódban.
2. óra • Függvény- és osztálysablonok
Lefedi a sablon szintaxisát, típusparamétereit és a sablon példányosítását. A generikus függvények és osztályok csökkentik a kódismétlést az összes jövőbeli projektben.
3. óra • STL konténerek
Bemutatja a vector, list, deque, map, set és unordered változatokat. A megfelelő konténer kiválasztása kritikus a teljesítmény szempontjából az algoritmustervezésben.
4. óra • Lambda kifejezések és funktorok
Bemutatja a lambda szintaxist, a capture listáket és a funktor objektumokat az STL-lel való használatra. Lehetővé teszi a tömör, kifejező algoritmustestreszabást a modern C++-ban.
5. óra • Iterátorok és tartományok
Megtanítja az iterátor kategóriákat, az iterátor aritmetikát és a tartomány alapú for ciklusokat. Az iterátorok az univerzális interfész a konténerek és algoritmusok között.
7. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseMemóriakezelés és erőforrás-biztonság
Memóriakezelés és erőforrás-biztonság
1. óra • Kivételkezelés és biztonság
Lefedi a try/catch/throw-t, a kivételhierarchiákat és a kivételbiztonsági garanciákat. A robusztus hibakezelés megakadályozza az erőforrás-szivárgásokat kivételes körülmények között.
2. óra • RAII és erőforrás-tulajdonlás
Elmagyarázza az RAII idiómát, és hogy a konstruktorok/destruktorok hogyan kényszerítik ki az erőforrás-biztonságot. Az RAII a modern C++ összes biztonságos erőforrás-kezelésének alapja.
3. óra • Okosmutatók részletesen
Lefedi a unique_ptr, shared_ptr és weak_ptr szemantikáját és használati mintáit. Az okosmutatók kiküszöbölik a kézi delete hívásokat és megakadályozzák a tulajdonlási hibákat.
4. óra • Másoló és mozgató szemantika
Megtanítja a másoló konstruktorokat, másoló értékadást, mozgató konstruktorokat és mozgató értékadást. Az Ötök Szabálya szabályozza a helyes erőforrás-tulajdonló osztálytervezést.
5. óra • Memória hibakeresés és profilozás
Bemutatja az eszközöket a szivárgások, érvénytelen hozzáférések és heap korrupció észlelésére. A profilozási készségek elengedhetetlenek a termelési minőségű C++ kód fenntartásához.
8. fejezetElrejtésRészletek elrejtéseRészletek megtekintéseFájl I/O, konkurencia és rendszerprogramozás
Fájl I/O, konkurencia és rendszerprogramozás
1. óra • Többszálú feldolgozás std::thread segítségével
Megtanítja a szálak létrehozását, csatlakozását és leválasztását a C++11 szálkönyvtár használatával. A konkurencia alapjai lehetővé teszik a párhuzamos programtervezést ebben a fejezetben.
2. óra • Folyamat- és rendszerinterfészek
Bemutatja a folyamatlétrehozást, a környezeti változókat és a rendszerhívásokat. Biztosítja az operációs rendszer szintű kontextust, amely szükséges a rendszerszintű C programok írásához.
3. óra • Hálózati és socket alapok
Bemutatja a BSD socket API-t TCP/UDP kommunikációhoz C/C++-ban. A hálózati készségek kiterjesztik a C/C++ alkalmazásokat elosztott és kliens-szerver környezetekre.
4. óra • Szinkronizáció és adatversenyek
Lefedi a mutexeket, feltételes változókat és atomi műveleteket az adatversenyek megelőzésére. A biztonságos szinkronizáció kötelező a helyes konkurens programokhoz.
5. óra • Fájl I/O C-ben és C++-ban
Lefedi a fopen/fclose-t C-ben és az fstreamet C++-ban fájlok olvasásához és írásához. A fájl I/O szükséges az adatok perzisztenciájához minden záróprojektben.
Érvényes befejezési tanúsítványod
Ez a kurzus neked szól:
Számítástechnika szakos hallgatók: akik gyakorlati mélységet keresnek azon túl, amit az osztálytermek általában nyújtanak.
Python vagy JavaScript fejlesztők: akik készen állnak megérteni, mi történik az absztrakciós réteg alatt.
Villamosmérnökök: akiknek C készségekre van szükségük a firmware írásához és karbantartásához hardverprojektekben.
Pályamódosítók: akik rendszer- vagy beágyazott szerepköröket céloznak meg, amelyek alacsony szintű programozási folyékonyságot igényelnek.
Játékfejlesztők: akik optimalizálni szeretnék a C vagy C++ nyelven írt teljesítménykritikus kódot.
Önképzett programozók: akik szilárd alapot építenek, amelyet a strukturált nyelvek, mint a C, megkövetelnek.
Mit mondanak a diákjaink
Az órái tökéletesek. Megvettem az egyéves csomagot, és végre lehetőségem van különböző érdekes témákat követni anélkül, hogy platformot kellene váltanom... köszönöm mindazt, amit csinálnak, már ajánlottam is másoknak...

Szeretem, hogy a leckék egyenesen a lényegre térnek, és hogy tudok fejezeteket váltani és átugrani olyan tartalmakat, amikre nincs szükségem.

Szeretem a tartalmat és a videók bemutatási és átírási módját, ami felgyorsítja a folyamatot!

A platform gyors, egyszerű használni. A tartalom sokfélesége és a kiegészítő videók nagyon sokat segítenek a tanulásban.

Főbb képzések
GYIK
Mi a Dedika?
Érvényes a tanúsítvány Magyarországon?
Ingyenesek a tanfolyamok?
Mennyi a tanfolyamok óraszáma?
Milyenek a tanfolyamok?
Hogyan működnek a tanfolyamok?
Mennyi ideig tartanak a tanfolyamok?
Mennyibe kerülnek a tanfolyamok?
Mi az az EAD vagy online tanfolyam, és hogyan működik?
PDF tanfolyam




















