Public visé
Développeurs.
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Programmer objet en C++
- Définir l’héritage et le polymorphisme
- Identifier les types de fonctions dont les inlines
- Gérer la mémoire et les pointeurs
- Utiliser la STL (Standard Template Library)
- Surcharger des opérateurs
Programme
Jour 1 - Matin
C++ langage basé sur le C : rappels
- Instructions, déclaration de variables, types et littéraux
- Portée des variables
- Les opérateurs et leurs priorités
- Les conditions, opérateurs logiques
- Les boucles, while, do while, for, break continue, goto
Structure d’un programme
- Le préprocesseur C / C++
- Header et implémentation
- Utilisation des constantes
- Compilation conditionnelle
- Déclaration anticipée (forward)
Jour 1 - Après-midi
Définition de fonctions
- La stack
- Appel d’une fonction
- Passage par valeur ou par référence
- Passage par pointeur
- Pointeur sur fonction
Jour 2 - Matin
Les classes
- Définition d’une classe
- Gestion de l’encapsulation
- Constructeur
- Membres et fonctions statiques d’une classe
- “this”
Jour 3 - Matin
Gestion de la mémoire
- Context Automatique, rappel sur la stack
- Context Statique
- Context Dynamique
- Destructeur d’une classe
Jour 3 - Après-midi
Const
- L’intérêt du “const”
- Paramètres “const”
- Fonctions membre “const”
Fonctions inline
- Inline implicite
- Inline explicite
- Impact sur la compilation
- Impact sur le code généré
Jour 4 - Matin
Héritage et polymorphisme
- Héritage public de C++
- Construction des classes dérivées
- Utiliser la ZIM
- Fonctions virtuelles
- Fonctions virtuelles pures et classes de bases abstraites
- Destruction des classes dérivées
Jour 4 - Après-midi
Surcharge d’opérateur
- Opérateur de cast
- Opérateur de pointeur
Jour 5 - Matin
Constructeur de copie et surcharge d’opérateur d’affectation
- Surcharge du constructeur de copie
- Surcharge de l’opérateur d’affectation
La STL (Standard Template Library)
- Les conteneurs
- Les itérateurs
- Les algorithmes
Jour 5 - Après-midi
Gestion des exceptions
- Les problématiques
- Exception et références
- Exception et valeurs
- Exception et pointeurs
Evolutions du langage C++
- Les lambda expressions
- Les closures
- Panorama des apports des versions C++11 à C++20
- Apports des nouvelles versions dans le langage
- Apports des nouvelles versions dans les classes
Modalités d’évaluation des acquis
En cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Pour aller plus loin
Cette formation donne accès aux formations suivantes :