Formation C++ | Programmation objet Mixte : présentiel / à distance
Dernière mise à jour : 25/11/2025
Pré-inscription
Présentation
En cinq jours (35 h), ce module « C++ : programmation Objet » conduit les développeurs à pratiquer un C++ moderne et robuste : de la syntaxe de base aux fonctionnalités post-C++20, en passant par l’encapsulation, l’héritage, les modèles génériques et la gestion sûre de la mémoire.
Chaque journée se termine par un mini-atelier adaptable afin d’ancrer immédiatement les notions vues.
Objectifs
A l'issue de la formation, le stagiaire sera capable de mettre en œuvre les principes fondamentaux de la conception orientée objet et de concevoir des applications en C++
- Comprendre la syntaxe et les concepts fondamentaux du C++
- Maîtriser les ajouts majeurs des normes C++
- Appliquer les principes de la Conception Orientée Objet
- Écrire des programmes simples en appliquant les bonnes pratiques de développement
- Utiliser les structures de contrôle et les types de données en C++
- Manipuler les fichiers et la mémoire de manière basique
Public visé
Prérequis
Programme
Jour 1 – Fondamentaux du langage
- Comprendre le cycle écrire → compiler → exécuter
- Manipuler types, portées et contrôles de flux en C++ moderne
Syntaxe de base
- Variables, constantes
- Portée des noms
- Déduction de type automatique
- Conditions (if, switch sûr) et boucles classiques
Modèle de compilation C/C++
- Rôle des fichiers en-tête / implémentation
- Impact sur le temps de build
Bonnes pratiques initiales
- Nommage clair
- Commentaires Doxygen
- Compilation avec options avertissement strict
Atelier pratique
- Créer un petit programme console (par ex. change d'unités, devises, longueurs…)
- Compiler, exécuter et identifier les fichiers générés par le compilateur
Jour 2 – Classes, encapsulation & RAII
- Concevoir une classe sûre et lisible
- Gérer automatiquement la durée de vie des ressources
Conception de classe
- Attributs privés
- Fonctions d'accès
- Constantes d'instance
Cycle de vie RAII
- Constructeur pour acquérir, destructeur pour libérer
- Copier ou déplacer : choisir selon le besoin
- Std::move
Espaces de noms & modules
- Accélérer la compilation
- Éviter les collisions
Atelier pratique
- Transformer un code « ouverture/fermeture » manuel (fichier, socket, mutex, etc.) en une classe qui gère automatiquement la ressource
Jour 3 – Héritage, polymorphisme & STL de base
- Appliquer héritage public et polymorphisme d'exécution
- Utiliser les conteneurs et algorithmes STL essentiels
Héritage & interfaces
- Méthodes virtuelles
- Classes abstraites
- Mots-clés override/final
Polymorphisme d'exécution
- Activer la bonne version d'une méthode
- Sécuriser la hiérarchie avec les mots-clés
Gabarits (fonctions génériques)
- Écrire une seule fonction utilisable avec plusieurs types compatibles
Design patterns simples
- Factory, Strategy…
Collections standard (aperçu)
- Tableau extensible, liste chaînée
- Dictionnaire clé-valeur : finalités et complexité
- Parcourir les collections
Atelier pratique
- Définir une classe de base (par ex. Employé, Forme, Capteur) puis deux dérivés, stockés dans une collection standard et parcourus pour afficher une information clé
Jour 4 – C++ moderne & gestion mémoire avancée
- Gérer la mémoire sans fuite
- Écrire un code concis avec fonctions anonymes et algorithmes standard
- Traiter les erreurs d'exécution de façon centralisée
Pointeurs intelligents
- Propriété exclusive, partagée
- Quand choisir l'un ou l'autre ?
- Utiliser std::optional, std::variant, std::any
Fonctions anonymes (lambdas)
- Créer un petit calcul “à la volée”
- Capturer des variables par copie ou référence
Algorithmes standards
- Trier, transformer
- Additioner des éléments sans boucle manuelle
- Gammes de vues en C++20
Calcul à la compilation
- constexpr / consteval / constinit
Gestion propre des erreurs
- Lever / attraper des exceptions
Atelier pratique
- Remplacer des pointeurs « nus » par des pointeurs intelligents dans un petit tableau d'objets, puis trier ce tableau selon plusieurs critères grâce à une fonction anonyme
Jour 5 – Fichiers, optimisation & mise en production
- Lire et écrire des données texte ou binaires sans risque de corruption
- Améliorer les performances grâce au profilage et aux options d'optimisation
- Préparer un projet réutilisable, testé et versionné pour l'équipe
Entrées / sorties fichiers
- Ouvrir un fichier en lecture ou écriture, choisir texte vs binaire
- Sauvegarder / charger un objet dans un format clair ou compact
Profilage & optimisation
- Mesurer où le programme passe le plus de temps CPU ou mémoire
- Activer les optimisations du compilateur
- Vérifier le gain obtenu
Construction et tests
- Créer un script de compilation multi-plateforme
- Écrire un test automatique
- Catch2 ou GoogleTest
Packaging & versions
- Produire une bibliothèque statique ou dynamique
- Produire les fichiers d'en-tête publics
- Appliquer une numérotation claire pour les livraisons
Atelier pratique
- Sur la base d'un module existant, l'intégrer dans un projet de construction (outil standard)
- Ajouter un test automatique minimal
- Produire un paquet prêt à être partagé en interne
Modalités pédagogiques
Docaposte Institute propose plusieurs dispositifs pédagogiques adaptés aux apprenants :
- Formation en présentiel
- En groupe (inter-entreprises ou intra-entreprise)
- En individuel (monitorat)
- En journée ou en cours du soir (sur demande spécifique)
- Formation en distanciel
- Distanciel synchrone
- Distanciel asynchrone
Moyens et supports pédagogiques
- Apports des connaissances communes.
- Mises en situation sur le thème de la formation et des cas concrets.
- Méthodologie d'apprentissage attractive, interactive et participative.
- Équilibre théorie / pratique : 60 % / 40 %.
- Supports de cours fournis au format papier et/ou numérique.
- Ressources documentaires en ligne et références mises à disposition par le formateur.
- Pour les formations en présentiel dans les locaux mis à disposition, les apprenants sont accueillis dans une salle de cours équipée d'un réseau Wi-Fi, d'un tableau blanc ou paperboard. Un ordinateur avec les logiciels appropriés est mis à disposition (le cas échéant).
Modalités d'évaluation et de suivi
En amont de la formation :
- Recueil des besoins des apprenants afin de disposer des informations essentielles au bon déroulement de la formation (profil, niveau, attentes particulières...).
- Auto-positionnement des apprenants afin de mesurer le niveau de départ.
Tout au long de la formation :
- Évaluation continue des acquis avec des questions orales, des exercices, des QCM, des cas pratiques ou mises en situation...
A la fin de la formation :
- Auto-positionnement des apprenants afin de mesurer l'acquisition des compétences.
- Évaluation par le formateur des compétences acquises par les apprenants.
- Questionnaire de satisfaction à chaud afin de recueillir la satisfaction des apprenants à l'issue de la formation.
- Questionnaire de satisfaction à froid afin d'évaluer les apports ancrés de la formation et leurs mises en application au quotidien.
Informations sur l'admission
Modalités d'admission
- Admission sans disposition particulière