Langage C++ – Fonctions avancées

Cette formation approfondit la maîtrise du langage C++ en abordant les concepts avancés de la programmation orientée objet, la gestion dynamique des ressources, les modèles génériques (templates) et les bonnes pratiques de conception. Elle s’adresse aux développeurs ayant déjà une expérience en C++ et souhaitant structurer des applications complexes, performantes et évolutives.

Pour qui ?

Développeurs confirmés, ingénieurs logiciels souhaitant maîtriser les templates, STL, surcharge, design patterns en C++.

Rappels fondamentaux 

  • Structure d’un programme C++ modulaire 
  • Passage par valeur et par référence 
  • Concepts de base de l’orienté objet : encapsulation, classes, objets 

Héritage et polymorphisme 

  • Héritage simple et multiple 
  • Constructeurs/destructeurs dans les hiérarchies 
  • Redéfinition (override) et surcharge des méthodes 
  • Pointeurs de base vers objets dérivés, virtual et tables de dispatch 
  • Classes abstraites et fonctions virtuelles pures 

Gestion dynamique des ressources 

  • Allocation dynamique avec new et delete 
  • Pointeurs intelligents (unique_ptr, shared_ptr) 
  • Constructeurs de copie, opérateur d’affectation (=, constructeur de déplacement)
  • Règle des trois / des cinq (Rule of Three / Rule of Five) 

Modèles génériques (templates) 

  • Fonctions et classes templates 
  • Spécialisation de templates 
  • Avantages du typage paramétrique 
  • Utilisation avec les conteneurs STL 

La bibliothèque standard (STL) 

  • Conteneurs : vector, list, map, set, queue, etc. 
  • Itérateurs et algorithmes génériques (sort, find, accumulate, etc.) 
  • Foncteurs et lambda expressions 
  • Gestion des exceptions : try, throw, catch

Organisation avancée des projets 

  • Fichiers .h et .cpp : encapsulation, protection contre l’inclusion multiple
  • Compilation multi-fichiers avec make ou CMake 
  • Structure de projet, documentation, gestion des dépendances 
  • Introduction aux outils de test et de debug (valgrind, gdb, etc.)
  • Mettre en œuvre la programmation orientée objet avancée (héritage,  polymorphisme, encapsulation)
  • Utiliser efficacement les pointeurs, références, gestion mémoire et templates
  • Structurer et modulariser des projets C++ selon les bonnes pratiques
  • Connaissance des fonctionnalités essentielles du langage C++ 

Modalités de mise en œuvre de l’action de formation

Au démarrage de la session, le formateur échangera avec le(s) stagiaire(s) afin d’effectuer une analyse de leurs attentes, de leurs besoins et de leurs acquis.

Moyens pédagogiques, techniques et d’encadrement :

  •  Moyens et méthodes pédagogiques :
    o Apports théoriques et mises en pratique.
    o Chaque point du programme fait l’objet d’une explication théorique appuyée d’une démonstration. Elle est suivie d’une mise en pratique par le biais d’exercices concrets
  •  Moyens techniques :
    o Un ordinateur équipé des logiciels et outils nécessaires à la réalisation de la formation
  •  Moyens d’encadrement :
    o Formateur possédant plusieurs années d’expérience
    o Chargé(e) du projet Numerica

Moyen de suivre l’exécution de la formation :

  • Une feuille d’émargement sera signée par les stagiaires à chaque début de session (matin et après-midi)

Moyens permettant d’évaluer les résultats de la formation :

  • Une évaluation de la formation sera complétée par le stagiaire au terme de la session
  • Le formateur évaluera les acquis des stagiaires tout au long de la formation par des mises en situations pratiques.
Durée : 4 jours
Tarif : 2 480 € HT

Dijon :

Session 1 :

du 23 au 27/03/2026

Session 2 :

du 14 au 18/12/2026

Montbéliard :

Session 1 :

du 9 au 12/03/2026

Session 2 :

du 15 au 18/09/2026

Cette formation peut-être réalisée en session sur-mesure.

Contactez-nous pour construire ensemble une formation adaptée à vos besoins.