1
C++ syntaxis (verschillen tussen C en C++)
- Gegevens: definitie, initialisatie, gegevenstypes.
- Uitdrukkingen: begrip referentie, castmechanismen.
- Operatoren (: :, nieuw, verwijderen).
- Functies (parameters en retourwaarden doorgeven door verwijzing, standaardwaarden, inlining, overbelasting).
- C-code gebruiken in een C++-programma.
- Verwijzingen (argumenten en retourwaarden).
- Constante types.
- Naamruimten.
- Automatisch" typen met het sleutelwoord auto (C++ 11).
Praktisch werk
De ontwikkelomgeving onder de knie krijgen en een eenvoudig programma programmeren.
2
Objectgeoriënteerde benadering
- De algemene principes van Objet technieken.
- C++ en objectgeoriënteerd programmeren.
- Een inleiding in objectgeoriënteerde methodologieën.
- Een inleiding tot modellen en UML-notatie (statisch model, dynamisch model, samenwerkingsmodel, scenario).
Praktisch werk
Toepassing van de concepten op een casestudy, een van de hoofdthema's van de volgende oefeningen.
3
C++ klassen en objecten
- Syntax: velden, methoden, constructeurs.
- Toegangscontrole.
- Zelfverwijzing.
- Statische velden en methodes.
- De functies.
- Vriendmethoden en -klassen.
- Dynamisch arrays van objecten maken.
- Methodologische aspecten: klasontwerp.
- Constructeurs voor kopiëren en verplaatsen (C++11).
- Delegatie van constructeurs (C++ 11).
- Inleiding tot geheugenbeheer (stack, heap, garbage collector, enz.).
Praktisch werk
Programmeren van de casestudy. Het ontwerpen en bouwen van een hiërarchie van klassen en interfaces.
4
Afleiding en overerving
- Afleidingsprincipe.
- Syntax: afgeleide klassen, constructeurs definiëren.
- Toegangscontrole.
- Polymorfisme implementeren: virtuele functies.
- Hergebruik van code: abstracte klassen.
- Interfaces.
- Meervoudige afleiding.
- Semantische en methodologische aspecten: factoring van de code.
Praktisch werk
De implementatie van polymorfisme in de casestudy.
5
Uitzonderingen
- Syntax: try-blokken, genereren van uitzonderingen.
- Methodologische aspecten: een uitzonderingshiërarchie opbouwen, uitzonderingen gebruiken.
Praktisch werk
De introductie van uitzonderingen in de casestudy.
6
Overbelasting van de operator
- Principe van overbelasting.
- Binaire operator overbelasting.
- Speciale overload: de index, functie en conversie operator.
- Overloading van geheugenbeheeroperatoren.
- Overloading van '<<' et '>>' operatoren.
Praktisch werk
Overloading van een paar eenvoudige operatoren.
7
De modellen
- Klassenmodel. Algemene principes en mechanismen. Model overloading en methode herdefinitie.
- Functiemodel. Algemene principes en mechanismen. Model overbelasting.
- Modellen en overbelasting van de operator.
- Modellen en afleidingsmechanismen.
- De verbeteringen die C++ 11 biedt.
Praktisch werk
Oefeningen op modellen.
8
I/O- en STL-overzicht
- I/O.
- Het principe van streams en de hiërarchie van input/output klassen.
- Beschrijving van enkele invoer-/uitvoerklassen.
- Overzicht van STL.
- Doelstellingen en principes.
- Beschrijvingen van enkele modellen en klassen.
- Containers, iterators, intervalgebaseerde lussen (C++ 11).
9
Conclusie
- Software levenscyclus: testen, integratie, productie release methode.
- Interactie met andere omgevingen.
- Kritische analyse van C++.
- Evolutie van C++.