Se rendre au contenu

C++ - Initiation

https://groupe-sr3.odoo.com/web/image/product.template/289/image_1920?unique=4bbfd51
(0 avis)

À partir de 1500 € HT
D​urée du cours : 3 jours - 21 heures

  • En entreprise ou à distance
  • Audit gratuit
  • Formateur expert dédié
  • Prise en charge OPCO possible

0,00 € 0.0 EUR 0,00 € Hors taxes

0,00 € Hors taxes

Cette combinaison n'existe pas.


Objectifs du cours

Quand l’apprentissage du C++ se fait “sur le tas”, on paie vite le prix : styles hétérogènes, bugs mémoire et temps de relecture perdu. Cette session d’initiation structurée aligne vos équipes sur une base commune, claire et moderne : syntaxe, contrôles, fonctions, POO d’intro et organisation du code en .h/.cpp. On privilégie les réflexes utiles (usage de std::string/std::vector, trois algorithmes STL incontournables, gestion d’erreurs simple) et des exercices concrets pour transférer immédiatement dans vos projets. Sans noyer les débutants, on ouvre les portes des pratiques pro (aperçu RAII/smart pointers, CMake minimal) pour préparer la montée en puissance. 


Résultat : des premiers programmes lisibles et maintenables, moins d’écueils, et une courbe d’apprentissage sous contrôle.


Les participants apprendront à : 


  • Comprendre la syntaxe C++ et les structures de contrôle principales.
  • Écrire et organiser des fonctions ; manipuler types, références et pointeurs de base.
  • Structurer un projet simple : séparation .h/.cpp, namespace, compilation sans warnings.
  • S’initier à la POO : classes, encapsulation, constructeurs/destructeur, invariants élémentaires.
  • Utiliser std::string, std::vector et 3 algorithmes STL clés (std::sort, std::find, std::accumulate).
  • Mettre en place une gestion d’erreurs simple (assertions, exceptions basiques).
  • Découvrir (aperçu) RAII/smart pointers et un CMake minimal pour standardiser le build.

Public

  • Débutants en programmation, Étudiants, Développeurs souhaitant apprendre le C++

Prérequis

  • Notions d’algorithmique (conditions, boucles, fonctions) et aisance avec un environnement de développement.

Contenu du cours

Partie 1 : Découverte du langage C++

  • Structure d’un programme C++ et point d’entrée main(). 
  • Utilisation de la console : flux d’entrée/sortie (cin, cout). 
  • Types de données, initialisation uniforme (C++11). 
  • Inférence automatique des types (auto, C++11). 
  • Structures de contrôle : if, switch, for, while, évolutions C++17/20. 
  • Enumérations traditionnelles et modernes (C++11/20). 
  • Fonctions : paramètres, retour, spécificateurs (inline, constexpr). 

Partie 2 : Notions avancées de base 

  • Fonctions lambda (C++11/14/17). 
  • Tableaux et la classe std::array (C++11). 
  • Présentation de la bibliothèque standard (STL). 
  • Mémoire : data segment, stack, heap. 
  • Pointeurs, références, constantes. 
  • Manipulation de std::string. 
  • Allocation/désallocation dynamique. 
  • Utilisation des espaces de noms (namespace). 
  • Organisation du code : headers et implémentations. 

Partie 3 : Programmation orientée objet (POO)

  • Définition de classes et création d’objets. 
  • Cycle de vie des objets et principes de modélisation UML. 
  • Encapsulation, visibilité (public, private, protected). 
  • Méthodes, constructeurs, destructeurs. 
  • Initialisation des membres (ZIM). 
  • Mécanismes friend, surcharge des méthodes et opérateurs. 
  • Membres static, agrégation vs composition. 
  • Spécificateurs modernes (default, delete, override, final). 
  • Héritage simple, polymorphisme, interfaces. 
  • Destructeurs virtuels, héritage privé/protégé. 
  • Clonage d’objets : constructeur de recopie, opérateur d’affectation. 

Partie 4 : Gestion des erreurs et robustesse dynamique 

  • Assertions et gestion des erreurs. 
  • Lancement, propagation, interception d’exceptions (try/catch). 
  • Création de classes d’exception personnalisées. 
  • Utilisation de noexcept (C++11) pour contrôler les exceptions.

Cours mis à jour en date du 06/09/2025