Formation C++ : Programmation objet en C++

4.8 sur 5 étoiles

5 étoiles
75%
4 étoiles
25%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 24 avis
(24 avis)
Durée 5 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DPOC
Éligible CPF Non

Apparu au début des années 1980 pour apporter au langage C la dimension objet tout en capitalisant sur ses performances, le langage C++ est encore aujourd’hui toujours très présent dans les projets de développement. Il a apporté de nombreuses améliorations au langage C comme le typage fort, la surcharge de fonctions, la programmation générique, les pointeurs intelligents et une très riche librairie STL (Standard Template Library) qui lui ont permis de maintenir sa popularité.

Cette formation vous permettra de mettre en œuvre tous ces éléments en respectant la syntaxe, y compris celle de l’importante norme C++ 11, afin de livrer un code portable et sécurisé. Vous apprendrez à produire un code de qualité qui respecte les bonnes pratiques professionnelles en matière de conception et de développement objet.

Objectif opérationnel :

Savoir mettre en œuvre les principes fondamentaux de la conception orientée objet et concevoir des applications en C++.

Objectifs pédagogiques :

À l'issue de cette formation C++, vous aurez acquis les connaissances et compétences nécessaires pour :

  • 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 :

Ce cours s’adresse aux prioritairement à un public technique comme les développeurs qui souhaitent développer ou maintenir des applications ou modules écrits en C++.

Elle intéressera plus particulièrement les développeurs dans les domaines cibles du C++ comme l’embarqué, le système, les IoT, la communication, etc. mais ne saurait s’y réduire tant les domaines d’application du C++ sont vastes et ses performances attractives pour tous les développeurs.

Prérequis :

Les participants à cette formation possèdent la maîtrise d’au moins un langage de programmation (C, PHP, Java, C#, Python, etc.) car la formation ne prévoit pas de revenir sur les bases (variables, test, boucle, appel fonction, etc.).

Il faut connaître également les principes de la programmation objet (classe, propriétés, méthodes, instance, héritage) car vous les appliquerez dans le cadre du C++.

J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant ce test.

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 pratiquesObjectifs : Valider que les concepts objets fondamentaux sont maîtrisés par tout le monde.
Présenter le modèle objet que l’on va utiliser en fil rouge dans la formation (il ne sera pas unique afin de bien comprendre les manipulations communes à toutes les classes et ce qui est spécifique à chacune)
Description : Quiz qui valide dans un premier temps que tout le monde dispose du vocabulaire objet, que ce vocabulaire est commun à tous participants et au formateur, mais aussi que tout le monde a compris en profondeur chaque concept.

C++, le langage

Les types de données, les variables, les constantes, L’initialisation uniforme, Les opérateurs
Les structures de contrôles
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 pratiquesObjectif : Valider que tout le monde est à l’aise avec son environnement de développement et prendre en main la syntaxe de base du C++ (opérateurs, types, tests, etc.).
Description : Réalisation du programme celcius.cpp qui demande la saisie au clavier d'une température en degrés Fahrenheit, puis calcule et affiche la température correspondante en degrés Celsius en interdisant les valeurs hors plage.
Création d’une expression lambda pour 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 pratiquesObjectif : Maîtriser la création de classe, l’instanciation, les constructeurs et la surcharge des méthodes
Description : Création d’une classe « counter » permettant de créer un objet qui génère une séquence de nombres (incrémentation, valeur actuelle, affichage, etc.)
Surcharges du constructeur en y passant un nombre ou un objet (pour s’initialiser sur cet objet).

Relations entre classe (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 pratiquesObjectif : Comprendre comment mettre en œuvre une association directe, puis une composition entre classes.
Savoir spécialiser une classe existante par héritage pour ne pas tout réécrire en maîtrisant l’impact hiérarchique dans la syntaxe (classe mère et descendance.)
Description : Mise en œuvre d'une relation d’association puis de composition entre deux classes. Construction d'une hiérarchie de classes à trois niveaux. Manipulation d'objets de ces classes. 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 pratiquesObjectifs : Comprendre comment mettre en œuvre une association directe, puis une composition entre classes. Savoir spécialiser une classe existante par héritage pour ne pas tout réécrire en maîtrisant l’impact hiérarchique dans la syntaxe (classe mère et descendance.)
Description : Mise en œuvre du polymorphisme dans le Design Pattern Factory Method : obtenir un objet d’une sous-classe dans une hiérarchie de classes avec héritage multiple comportant une classe abstraite pure.

La gestion des exceptions

Principe du traitement des anomalies
Utilisation des mot-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 pratiquesObjectif : Comprendre comment gérer les exceptions dans une application effectuant des entrées-sorties.
Description : Calcul de la somme des soldes mensuels d’un compte bancaire par lecture d’un fichier CSV avec mise en œuvre d’un traitement sur place d’exceptions puis en propageant les exceptions à la fonction appelante.
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 pratiquesObjectif : Comprendre et mettre en œuvre la généricité des types dans une fonction grâce aux templates.
Description : Création d'un template de fonction (fonction rendant le « plus petit » de deux objets passés en argument indépendamment de 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 pratiquesObjectif : Comprendre la mise en œuvre des smart pointers pour la gestion des ressources
Description : Mise en œuvre, dans une petite application, 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 pratiquesObjectifs : Savoir débugger une application et modifier les options de compilation.
Savoir packager une application C++.
Description : 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 pratiquesObjectifs : Comprendre l’intérêt d’un conteneur pour y stocker des objets et le rôle d’un itérateur. Savoir lire-écrire dans un fichier texte
Description : Lecture d’un fichier texte ligne par ligne, création des objets représentés par les chaînes de caractères, mise en œuvre d’un vector pour y stocker les objets et parcours à l’aide d’un itérateur pour supprimer certains objets, tri du vector à l’aide d’un algorithme de tri et d’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 pratiquesObjectif : Comprendre l’intérêt des références rvalue, des expressions lambdas.
Description : Ajout, dans une classe, d’un constructeur et d’un opérateur d’affectation par déplacement utilisation d’une expression lambda dans un algorithme de tri.

Les travaux pratiques sont conçus dans une approche pédagogique qui permet de valider les acquis en plus d’exemples concrets de mise en œuvre en C++. Les concepts importants sont donc toujours au cœur du TP et la trame de ces derniers fait office à la fois de synthèse réutilisable pour vos propres développements futurs mais aussi de révision lorsque vous vous replongerez dedans. Il s'agit d'une formation avec une grande part consacrée aux travaux dirigés (plus de 50% du cours).

Date de mise à jour du programme : 10/12/2025

Dates et lieux

1
2
3
4
5
6
7
Du 15 au 19 décembre 2025
Lieu
Distanciel
Durée
5 jrs
2990 € HT
Du 15 au 19 décembre 2025
Lieu
Paris
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Distanciel
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Paris
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Bordeaux
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Guadeloupe
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Guyane
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Lille
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Lyon
Durée
5 jrs
2990 € HT
Du 19 au 23 janvier 2026
Lieu
Marseille
Durée
5 jrs
2990 € HT
1
2
3
4
5
6
7

Logo partenaire action collective de l'OPCO Atlas Votre formation C++ prise en charge jusqu'à 100% des coûts pédagogiques ! *

Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++.
-  Sessions inter-entreprise sur Paris et Lille.
-  Sessions intra-entreprise sur toute la France.

* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)

Vous pouvez retrouver le lien direct vers cette formation sur le site d'Atlas, à l'adresse suivante : 

Avis des participants à la formation C++ : Programmation objet en C++

Note moyenne de 4.8/5(24)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

DUPUY Wesley
4/5

Mon avis sur le contenu du stage :

"Bien que le format de 35h l'exige. Le contenu est très dense et est devenu indigeste (pour ma part) après les premiers jours."

Mon avis sur le formateur :

"Animateur pédagogue, patient, bien veillant et qui connait son sujet. "

Ce que j'ai le plus apprécié :

"Des outils fonctionnels, simples à prendre en main et à utiliser. Environnement préparé à l'avance. Service technique réactif"

VL
5/5

Mon avis sur le formateur :

"Très gentil, à l'écoute, on sent l'envie de partager ses connaissances"

Ce que j'ai le plus apprécié :

"Equilibre entre partie cours et travaux pratique, mise en pratique directement après la prise de connaissance du cours. Petits exercices projet en autonomie."

Ce que j'ai le moins apprécié :

"Cours très condensé, passage très rapide sur chaque concept."

OJ
5/5

Mon avis sur le contenu du stage :

"J'ai beaucoup appréciée le temps suffisant alloué pour faire des travaux pratiques."

Mon avis sur le formateur :

"L'animateur était bien présent pendant la formation et prennez le temps nécessaire pour expliquer les concepts."

Ce que j'ai le plus apprécié :

"L'attention donné a chaque stagiaire."

MA
4/5

Mon avis sur le contenu du stage :

"Le temps pour effectuer les TPs étaient trop long, peut-être rajouter des exercices bonus pour ceux qui attendent les autres. "

Ce que j'ai le moins apprécié :

"Je pense qu'avoir les TPs déjà mise en place pour commencer l'exercice, il y a beaucoup de perte de temps en créant et en copiant les fichiers d'un exercice à l'autre."

BE
5/5

Ce que j'ai le plus apprécié :

"Le bureau distant est un grand plus ! La plateforme plb est facile à utiliser."

Ce que j'ai le moins apprécié :

"La complexité pour accéder à la formation (lien inexistant sur 360learning, envoyé dans un mail qui se confond dans la masse de mails reçus). "

VM
4/5

Mon avis sur le formateur :

"Très bon formateur, Il n'hésite pas et va directement à l'essentiel. Et il prend le temps d'expliquer/réexpliquer ce qui n'a pas été compris."

Ce que j'ai le plus apprécié :

"Information transmises par email et tout fonctionnel directement."

RM
5/5

Mon avis sur le contenu du stage :

"Tous les travaux pratiques étaient simples. J'airais aimé avoir quelques exercices plus difficiles."

Mon avis sur la salle de formation :

"le projecteur a eu un problème et il n'a pas été réparé "

HD
5/5

Mon avis sur le formateur :

"Très bonne animation, excellente écoute sur les questions et pas de défaut de réponses."

Ce que j'ai le plus apprécié :

"Bon partage d'écran et bon accès aux fichiers en temps réel."

BAGGA Amine
5/5

Mon avis sur le contenu du stage :

"Très accentué sur les principes de l'orienté objet"

Mon avis sur le formateur :

"Pédagogue, énorme maîtrise du C++ et de l'orienté objet, c'est un excellent formateur"

HEULHARD DE MONTIGNY Eric
5/5

Ce que j'ai le plus apprécié :

"Propreté et ergonomie des locaux"

Ce que j'ai le moins apprécié :

"Un détail : les saisies clavier et souris étaient parfois 'erratiques" avec sur mon ordinateur."

Sylvain
5/5

Mon avis sur le formateur :

"l'animateur est vraiment pédagogue et professionnel. les connaissances sont bien introduites et leurs assimilations sont bonnes."

Ce que j'ai le plus apprécié :

"environnement de travail."

PE
5/5

Mon avis sur le contenu du stage :

"Le contenu est conforme à mes attentes"

Mon avis sur le formateur :

"Bon ratio théorie/pratique/retour d'expérience"

SS
5/5

Mon avis sur le formateur :

"Excellent formateur, je le commanderais si l'occasion se présente."

MALTESE Dominique
4/5

Mon avis sur le formateur :

"maitrise très bien son sujet A l'écoute des stagiaires"

LJ
5/5

Mon avis sur le contenu du stage :

"Très bon professeur, support de cours et exercices."

FY
4/5

Mon avis sur la salle de formation :

"Dans nos locaux"

CY
5/5
Mon avis sur le formateur: Rappels faits le matin ont été très utiles
Gérard
5/5
TM
5/5
CA
5/5
OF
4/5
Dorian
5/5
YS
5/5
PALPACUER François
5/5

Ces formations peuvent aussi vous intéresser :

  • Niveau : Avancé
  • Référence : DCPA

Préparer la certification C++ Associate

  • Niveau : Intermédiaire
  • Certification : C++ Certified Associate Programmer
  • Référence : DCAP

Obtenir la certification C++ Certified Associate Programmer

  • Niveau : Intermédiaire
  • Certification : C++ Certified Associate Programmer
  • Référence : DCCA

Tirer parti des nouvelles fonctionnalités à partir de la version 2011 de C++

  • Niveau : Intermédiaire
  • Référence : DCNV


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

4,7/5
94% de nos participants
sont satisfaits ou
très satisfaits


Formateurs experts
validés par
PLB

%
Des participants
recommandent
nos formations