
C++ Cursus
Beheers C++ van de grond af — van basis-syntax en geheugenbeheer tot templates, gelijktijdigheid en moderne C++23-functies. Deze cursus biedt de technische diepgang en praktische oefening om snelle, veilige en professionele C++-code te schrijven. Of je nu systeemprogrammering, embedded ontwikkeling of high-performance applicaties nastreeft, dit is de complete vaardighedenset die je nodig hebt.
Wat je gaat leren:
Je bouwt een solide basis in C++-syntax, control flow en functies voordat je doorgaat naar pointers, geheugenbeheer en objectgeoriënteerd programmeren. Je beheerst de Standard Template Library, schrijft generieke code met templates en past moderne functies toe zoals lambda's, move-semantiek en gestructureerde bindingen. De cursus behandelt ook foutafhandeling, unit testing, prestatieprofilering, buildsysteem met CMake en professionele praktijken, waaronder versiebeheer en codebeoordeling. Aan het einde heb je de vaardigheden om productiekwaliteit C++-software te ontwikkelen voor een breed scala aan domeinen.
Hoe je praktisch studeert C++ Cursus
Hoe je oefent C++ Cursus
Voor bedrijven die hun team willen trainen
Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.
Cursusinhoud
8 Hoofdstukken • 40 LessenDuur tussen 4 en 360 uren (jij beslist)
Hoofdstuk 1VerbergenVerberg detailsBekijk detailsC++-fundamenten en omgevingsconfiguratie
C++-fundamenten en omgevingsconfiguratie
Les 1 • Variabelen, types en letterlijke waarden
Introduceert fundamentele gegevenstypes, variabeledeclaratie en letterlijke waarden. Bouwt de woordenschat op die nodig is voor alle toekomstige gegevensmanipulatie.
Les 2 • De ontwikkelomgeving opzetten
Installeer compilers, IDE's en buildtools voor C++-ontwikkeling. Biedt de technische basis waarop elk volgend hoofdstuk vertrouwt.
Les 3 • Operatoren en expressies
Verkent rekenkundige, relationele, logische en bitsgewijze operatoren. Operatorprecedentieregels worden toegepast om correcte expressies te schrijven.
Les 4 • Basisgrammatica en programmastructuur
Behandelt de anatomie van een C++-bronbestand, inclusief headers, hoofdfunctie en statements. Koppelt grammaticaregels aan leesbare, compileerbare code.
Les 5 • Invoer en uitvoer met iostream
Leert console-I/O met cin en cout uit de standaardbibliotheek. Maakt interactieve programma's mogelijk die essentieel zijn voor vroege oefeningen.
Hoofdstuk 2VerbergenVerberg detailsBekijk detailsControlestroom en functies
Controlestroom en functies
Les 1 • Lussen en iteratie
Introduceert for-, while- en do-while-lussen naast luscontrolestatements. Herhalingspatronen vormen de basis voor algoritmen in latere hoofdstukken.
Les 2 • Bereik, levensduur en opslagklassen
Legt de reikwijdte en levensduur van lokale, globale en statische variabelen uit. Voorkomt veelvoorkomende bugs veroorzaakt door onbegrepen variabelen zichtbaarheid.
Les 3 • Recursie en functie-overloading
Introduceert recursief probleemoplossen en meerdere functiehandtekeningen met dezelfde naam. Bereidt studenten voor op complexe algoritmische patronen.
Les 4 • Functiedeclaratie en -definitie
Leert hoe functies te declareren, definiëren en aanroepen met parameters en retourtypes. Functies zijn de primaire eenheid van codehergebruik in C++.
Les 5 • Conditionele statements
Behandelt if-, else-if-, else- en switch-constructies voor besluitvorming. Maakt direct logica-gestuurde programma's mogelijk die tijdens de cursus worden gebouwd.
Hoofdstuk 3VerbergenVerberg detailsBekijk detailsArrays, pointers en geheugen
Arrays, pointers en geheugen
Les 1 • Dynamische geheugentoewijzing
Leert heap-toewijzing met new en deallocatie met delete. Correct bronnenbeheer voorkomt geheugenlekken in alle toekomstige programma's.
Les 2 • Arrays en C-stijl strings
Behandelt arrays met vaste grootte, multidimensionale arrays en null-getermineerde strings. Legt de laaggelegen datastructuren vast waarop pointers voortbouwen.
Les 3 • Referenties en const-correctness
Onderscheidt referenties van pointers en handhaaft const-gebruik voor veiligheid. Const-correctness is een professionele C++-coderingsstandaard.
Les 4 • Overzicht van smart pointers
Introduceert unique_ptr, shared_ptr en weak_ptr als veiligere alternatieven voor raw pointers. Overbrugt handmatig geheugenbeheer naar moderne C++-idiomen.
Les 5 • Pointer-basisbeginselen
Introduceert pointer-declaratie, adres-van-operator en dereferentie. Pointers staan centraal in dynamisch geheugen en objectgeoriënteerde functies die komen gaan.
Hoofdstuk 4VerbergenVerberg detailsBekijk detailsObjectgeoriënteerd programmeren in C++
Objectgeoriënteerd programmeren in C++
Les 1 • Polymorfisme en virtuele functies
Implementeert runtime-polymorfisme via virtuele functies en abstracte klassen. Maakt flexibele, uitbreidbare ontwerpen mogelijk die centraal staan in grote C++-codebases.
Les 2 • Overerving en klassehierarchieën
Modelleert is-a-relaties met behulp van enkele en meervoudige overerving. Legt de hiërarchiestructuur vast die vereist is voor polymorfisme.
Les 3 • Operator-overloading
Maakt het mogelijk dat aangepaste types standaardoperatoren op een natuurlijke en expressieve manier gebruiken. Versterkt inkapseling door logica binnen de klasse te houden.
Les 4 • Constructors, destructors en initialisatie
Leert objectlevenscyclusbeheer via constructors en destructors. Correcte initialisatie voorkomt ongedefinieerd gedrag in complexe programma's.
Les 5 • Klassen en objecten
Behandelt klassedefinitie, gegevensleden, lidfuncties en toegangsspecificatoren. Klassen zijn het primaire abstractiemechanisme in C++.
Hoofdstuk 5VerbergenVerberg detailsBekijk detailsDe Standard Template Library
De Standard Template Library
Les 1 • Stringverwerking met std::string
Behandelt std::string-operaties, manipulatie en conversiehulpprogramma's. Vervangt onveilige C-stijl strings door een veilig, functierijk alternatief.
Les 2 • STL-algoritmen
Past sorteer-, zoek-, transformatie- en accumulatiealgoritmen uit <algorithm> toe. Vervangt foutgevoelige handmatige lussen door expressieve one-liners.
Les 3 • Associatieve en ongeordende containers
Introduceert map, set, unordered_map en unordered_set voor sleutelgebaseerde toegang. Maakt snelle opzoekpatronen mogelijk die in praktijktoepassingen worden gebruikt.
Les 4 • Sequence-containers
Behandelt vector, list, deque en array voor geordende gegevensopslag. Het kiezen van de juiste container heeft direct invloed op de programmaprestaties.
Les 5 • Iterators en ranges
Legt iteratorcategorieën, traversatiepatronen en range-gebaseerde operaties uit. Iterators zijn de universele interface tussen containers en algoritmen.
Hoofdstuk 6VerbergenVerberg detailsBekijk detailsTemplates en generiek programmeren
Templates en generiek programmeren
Les 1 • Concepten en constraints in C++20
Past C++20-concepten toe om templateparameters te beperken met leesbare vereisten. Produceert duidelijkere foutmeldingen en zelfdocumenterende interfaces.
Les 2 • Basisprincipes van template-metaprogrammeren
Introduceert compile-time-berekening met type traits en constexpr. Maakt zero-cost abstracties en compile-time-validatie mogelijk.
Les 3 • Functietemplates
Introduceert templatesyntaxis voor het schrijven van generieke functies met typeparameters. Elimineert codeduplicatie terwijl volledige typeveiligheid behouden blijft.
Les 4 • Klassetemplates
Breidt templates uit naar klassen, waardoor generieke containers en hulpprogramma's mogelijk worden. Onderbouwt de STL-containers die in het vorige hoofdstuk zijn bestudeerd.
Les 5 • Variadische templates
Behandelt parameter packs en fold-expressies voor template met variabel aantal argumenten. Maakt flexibele API's mogelijk zoals std::tuple en logboekhulpprogramma's.
Hoofdstuk 7VerbergenVerberg detailsBekijk detailsModerne C++-functies en -idiomen
Moderne C++-functies en -idiomen
Les 1 • Gestructureerde bindingen en std::optional
Introduceert gestructureerde bindingen voor tuple-achtige decompositie en optional voor null-bare waarden. Vermindert boilerplate en drukt intentie duidelijk uit.
Les 2 • std::variant en std::any
Behandelt type-veilige unions met std::variant en type-gewiste opslag met std::any. Vervangt onveilige C-unions en void-pointers in moderne code.
Les 3 • Concurrency-basisbeginselen met std::thread
Introduceert thread-creatie, synchronisatie-primitieven en data-race-preventie. Bereidt studenten voor op de ontwikkeling van multi-threaded applicaties.
Les 4 • Move-semantiek en rvalue-referenties
Legt rvalue-referenties, move-constructors en move-toewijzing uit voor prestaties. Elimineert onnodige kopieën in resource-intensieve programma's.
Les 5 • Lambda-expressies en closures
Behandelt lambda-syntax, capture-lijsten en gebruik met STL-algoritmen. Maakt beknopte, inline functieobjecten mogelijk zonder boilerplate.
Hoofdstuk 8VerbergenVerberg detailsBekijk detailsFoutafhandeling, testen en prestaties
Foutafhandeling, testen en prestaties
Les 1 • Profilering en prestatieanalyse
Past profileringstools toe om hotspots te identificeren en uitvoeringstijd te meten. Data-gestuurde optimalisatie voorkomt voortijdige en misleide afstemming.
Les 2 • Unit testing in C++
Introduceert testframeworks, testcase-ontwerp en testgestuurde ontwikkelingsworkflow. Geautomatiseerde tests verifiëren de juistheid naarmate de code evolueert.
Les 3 • Asserties en defensief programmeren
Gebruikt assert, static_assert en precondition-checks om bugs vroeg te vangen. Defensieve technieken verminderen de debugtijd in grote codebases.
Les 4 • Optimalisatietechnieken
Behandelt cache-vriendelijke gegevensindelingen, algoritmische verbeteringen en compilerhints. Past profileringbevindingen toe om meetbare snelheidswinsten te behalen.
Les 5 • Uitzonderingsafhandeling
Behandelt try-catch-throw, uitzonderingshiërarchieën en uitzonderingsveilig codeontwerp. Correcte foutpropagatie is verplicht in professionele C++-software.
Jouw geldig certificaat van voltooiing
Deze cursus is voor jou:
Computerwetenschapstudent: gretig om verder te gaan dan pseudocode naar echte programmeertalen.
Python- of JavaScript-ontwikkelaar: klaar om te begrijpen wat er onder de abstractie gebeurt.
Aspirant-spelontwikkelaar: die de lage-niveaucontrole nodig heeft die C++ uniek biedt.
Elektrotechnisch ingenieur: die firmware en stuurprogramma's wil schrijven met moderne taalhulpmiddelen.
Carrièreswitcher: gericht op hoogbetaalde systeemprogrammeerrollen vanuit een niet-CS-achtergrond.
Hobbybouwer: die microcontrollers en embedded apparaten effectiever wil programmeren.
Wat onze studenten zeggen
Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...

Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.

Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!

Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.

Belangrijkste opleidingen
FAQ
Wie is Dedika?
Is het certificaat geldig in Nederland?
Zijn de cursussen gratis?
Wat is de studielast van de cursus?
Hoe zien de cursussen eruit?
Hoe werken de cursussen?
Wat is de duur van de cursussen?
Wat zijn de kosten of prijzen van de cursussen?
Wat is een EAD- of online cursus en hoe werkt het?
PDF-cursus




















