Mission freelance Formateur C++ : Programmation objet en C++
Île-de-France
ELUV
Partager cette offre
Eluv recherche un formateur ou une formatrice indépendant(e) pour animer la formation « C++ : Programmation objet en C++ ».
Dates : 07/12/2026, 08/12/2026, 09/12/2026, 10/12/2026, 11/12/2026 (5 jours, 35 heures)
Lieu : à distance (classe virtuelle)
Programme de la formation :
Objectifs pédagogiques
- 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
Programme
Jour 1 – Les concepts de la Programmation objet essentiels pour bien commencer en C++
- Les paradigmes de la P.O.O.
- La classification
- Contrôler l'accès aux données (encapsulation)
- L'héritage, la dérivation
- Fournir les informations essentielles (abstraction)
- Travaux pratiques : quiz de validation du vocabulaire et des concepts objets, présentation du modèle objet utilisé en fil rouge
C++, le langage
- Les types de données, les variables, les constantes, l'initialisation uniforme, les opérateurs
- Les structures de contrôle
- Tableaux et chaînes de caractères
- Les fonctions, paramètres par défaut et la surcharge
- Les expressions lambdas, les fonctions "inline"
- Les pointeurs bruts, référence lvalue
- Les structures et les types personnalisés, les énumérations
- Les espaces de noms et l'organisation du code
- Les compilations séparée et conditionnelle
- Travaux pratiques :
- Réalisation d'un programme de conversion de température Fahrenheit/Celsius avec contrôle des valeurs hors plage
- Création d'une expression lambda pour la détection d'un palindrome
Les classes en C++
- Définition d'une classe, les qualificateurs "public" et "private"
- Instanciation d'une classe
- La surcharge de méthodes
- Constructeurs par défaut, surchargés, de copie
- Surcharge de l'opérateur d'affectation
- Le destructeur
- Le mot-clé this, les membres static
- Les méthodes const, inline
- Les fonctions amies
- Surcharges d'opérateurs
- L'allocation dynamique de mémoire
- Les mots-clés default et delete
- Le mot-clé final sur classes ou méthodes
- Travaux pratiques : création d'une classe "counter" générant une séquence de nombres, surcharges du constructeur avec un nombre ou un objet
Relations entre classes (association, composition, héritage)
- Introduction aux diagrammes de classes UML2
- Les associations entre classes : l'association directe, l'agrégation, la composition
- Traduction en C++ d'une association, d'une composition
- Importance de la liste d'initialisation dans les constructeurs
- L'héritage public simple
- Ordre d'exécution des constructeurs et destructeurs
- Les règles de conversion
- Le qualificateur d'accès protected
- L'héritage multiple répété et ses difficultés de mise en œuvre
- Manipulation d'objets dérivés
- Travaux pratiques :
- Mise en œuvre d'une relation d'association puis de composition entre deux classes
- Construction d'une hiérarchie de classes à trois niveaux et manipulation d'objets
- Mise en œuvre d'un héritage multiple répété
Jour 3 – Le polymorphisme
- Les méthodes virtuelles
- Intérêt du polymorphisme
- Mise en œuvre du polymorphisme
- Les classes abstraites et les méthodes virtuelles pures
- Les destructeurs virtuels
- Travaux pratiques : mise en œuvre du polymorphisme dans le Design Pattern Factory Method avec une hiérarchie de classes comportant une classe abstraite pure
La gestion des exceptions
- Principe du traitement des anomalies
- Utilisation des mots-clés try, catch et throw
- Traiter les exceptions sur place
- Propager les exceptions
- Lever une exception
- Créer ses propres classes d'exception
- Le mot-clé noexcept
- Travaux pratiques : calcul de la somme des soldes mensuels d'un compte bancaire par lecture d'un fichier CSV avec traitement sur place puis propagation des exceptions
Jour 4 – Les templates en C++
- Principe des templates, objectifs, avantages et limites
- Déclaration de paramètres template
- Templates de fonctions : syntaxe et surcharge
- Templates de classes
- Templates de méthodes
- Instanciation des templates de fonctions, des templates de classes
- Instanciation implicite vs instanciation explicite
- Spécialisation complète ou partielle d'un template
- Travaux pratiques :
- Création d'un template de fonction retournant le plus petit de deux objets quel que soit leur type
- Création d'un template de classe (tableau redimensionnable automatiquement)
Les pointeurs intelligents (smart pointers C++11)
- Principe de la gestion RAII des ressources
- Danger des pointeurs bruts
- Intérêt des smart pointers
- Mise en œuvre de unique_ptr, shared_ptr, weak_ptr
- Utilisation de make_unique et make_shared
- Mise en œuvre d'un destructeur personnalisé
- Travaux pratiques : mise en œuvre de la technique RAII par remplacement des pointeurs bruts par des pointeurs intelligents
Jour 5 – Outils de développement
- Présentation des IDE courants
- Options de compilation
- Cross-compilateurs
- Génération d'un exécutable, fichiers objets
- Utilisation des fonctionnalités de debug
- Commande make et cmake sous Linux
- Utilisation de git
- Travaux pratiques :
- Recherche de bugs dans une application et correction
- Mise en œuvre d'une chaîne de build automatisée
Aperçu de la librairie STL
- Composants clés, documentation, philosophie d'usage
- Les conteneurs et initializer_list
- Les itérateurs et algorithmes STL
- Gestion des entrées-sorties (flux standard, manipulateurs, espace de nom chrono)
- Travaux pratiques : lecture d'un fichier texte ligne par ligne, stockage des objets dans un vector, parcours avec un itérateur, tri avec un algorithme et un foncteur
Présentation des principales nouveautés apportées par C++11/14/17/20/24
- Le mot-clé constexpr
- Principe des références rvalue, rôle de std::move
- Intérêt de la move semantics
- Les concepts et contraintes
- Les modules et partitions
- Les coroutines
- Le nouvel opérateur de comparaison
- Le mot-clé consteval
- Travaux pratiques : ajout d'un constructeur et d'un opérateur d'affectation par déplacement, utilisation d'une expression lambda dans un algorithme de tri
Public visé :
Développeurs maîtrisant un langage de programmation et souhaitant concevoir des applications orientées objet en C++.
Prérequis des apprenants :
Maîtrise d'au moins un langage de programmation (C, PHP, Java, C#, Python, etc.).
Connaissance des principes de la programmation objet (classe, propriétés, méthodes, instance, héritage).
Profil recherché :
Formateur ou formatrice expérimenté(e) sur le sujet, avec une pratique professionnelle récente du terrain et, idéalement, une première expérience d'animation de formation. Statut indépendant (freelance, micro-entreprise ou portage salarial).
Comment candidater :
Postulez à cette offre : vous recevrez un mail avec le lien pour créer votre profil formateur sur la plateforme Eluv, y déposer votre CV et réserver un créneau de visio avec notre équipe. Vous pourrez ensuite vous positionner sur cette formation et sur toutes celles que vous pouvez assurer.
À propos d'Eluv :
Eluv est un organisme de formation spécialisé dans l'IT et le digital. Nous concevons et animons des formations pour les entreprises, en présentiel partout en France et à distance, en nous appuyant sur un réseau de formateurs indépendants experts de leur domaine. Nous prenons en charge la relation avec le client, la logistique et l'administratif, pour que le formateur puisse se concentrer sur l'animation de sa session.
Profil recherché
Formateur ou formatrice expérimenté(e) sur le sujet, avec une pratique professionnelle récente du terrain et, idéalement, une première expérience d'animation de formation. Statut indépendant (freelance, micro-entreprise ou portage salarial).
Environnement de travail
Eluv est un organisme de formation spécialisé dans l'IT et le digital. Nous concevons et animons des formations pour les entreprises, en présentiel partout en France et à distance, en nous appuyant sur un réseau de formateurs indépendants experts de leur domaine. Nous prenons en charge la relation avec le client, la logistique et l'administratif, pour que le formateur puisse se concentrer sur l'animation de sa session.
Postulez à cette offre !
Trouvez votre prochaine mission parmi +10 000 offres !
Fixez vos conditions
Rémunération, télétravail... Définissez tous les critères importants pour vous.
Faites-vous chasser
Les recruteurs viennent directement chercher leurs futurs talents dans notre CVthèque.
100% gratuit
Aucune commission prélevée sur votre mission freelance.
Formateur C++ : Programmation objet en C++
ELUV