C++ - Avancé

Formation créée le 10/01/2023. Dernière mise à jour le 20/03/2023.
Version du programme : 1

Type de formation

Formation à distance

Durée de formation

14 heures (2 jours)

C++ - Avancé


Objectif de formation : Apporter les connaissances nécessaires pour consolider des notions de bases du langage C++

Objectifs de la formation

  • Améliorer les connaissances sur la syntaxe basique de C++
  • Implémenter l'héritage & le polymorphisme
  • Concevoir des pointeurs intelligents
  • Administrer les exceptions dans C++
  • Comprendre et bâtir des templates en C++
  • Décrire et implémenter la bibliothèque STL

Profil des bénéficiaires

Pour qui
  • Développeurs
  • Chefs de projets techniques
Prérequis
  • Avoir des bases en programmation C++

Contenu de la formation

Rappels sur la syntaxe de base
  • Conception de tableaux
  • Anatomie d'une classe
  • Spécificateurs d'accès private et public
  • Conception d'objets
  • Constructeurs, méthodes d'instance, méthodes static
  • Surcharge de fonctions & de méthodes
  • Configuration par défaut
  • Passage d'arguments aux fonctions et aux méthodes: par valeur, par adresse, par référence
  • Constructeur de copie
  • Surcharge de l'opérateur d'affectation
  • Destructeur
  • Méthodes const
  • Membres static
  • Travaux Pratiques : conception de quelques classes avec constructeurs et méthodes surchargés puis manipulation d'instances de ces classes
Implémentation de l'héritage et du polymorphisme
  • Usage du mot-clé protected
  • Distinction surcharge/redéfinition
  • Manipulation d'instances de sous-classes
  • Spécificateur protected
  • Tour d'horizon des types d'héritage
  • Utilisation des classes abstraites
  • Déclaration de méthodes virtuelles & virtuelles pures
  • Développement du code avec polymorphisme, redéfinition des méthodes
  • Implémentation de l'héritage multiple
  • Travaux Pratiques : parcours d'une hiérarchie d'objets sans, puis avec polymorphisme
Smart pointers C++11
  • Risques des pointeurs nus
  • Concepts de la gestion de ressources
  • Rôles des smart pointers
  • Causes de l'obsolescence de auto_ptr
  • Implémentation de unique_ptr & shared_ptr
  • Travaux Pratiques : Mise en place de smart pointeurs
Administration des exceptions
  • Description des forces de la gestion d'exceptions
  • Création d'un bloc try-catch & détermination de la modification du déroulement normalement du programme
  • Démarrage d'une exception
  • Propagation d'une exception
  • Concevoir ses propres classes d'exception
  • Travaux Pratiques : Implémentation d'une gestion d'exception dans une application
Templates en C++
  • Principe des templates
  • Forces & faiblesses
  • Syntaxe des templates de fonctions
  • Syntaxe des templates de classes
  • Instanciation des templates de fonctions
  • Instanciation des templates de classes
  • Travaux Pratiques : Conception d'un template de fonction puis conception d'un template de classe
Bibliothèque STL
  • Introduction à la Standard Template Library
  • Conteneurs
  • Itérateurs
  • Algorithmes
  • Entrées-sorties
  • Travaux Pratiques : implémentation de plusieurs conteneurs, algorithmes et templates d'entrées-sorties

Équipe pédagogique

Professionnel expert technique et pédagogique.

Suivi de l'exécution et évaluation des résultats

  • Émargement numérique
  • Mises en situation
  • Formulaires d’évaluation de la formation
  • Certificat de réalisation de l’action de formation

Ressources techniques et pédagogiques

  • Espace intranet de formation
  • Documents supports de formation projetés
  • Exposés théoriques
  • Étude de cas concrets
  • Mise à disposition en ligne de documents supports à la suite de la formation

Qualité et satisfaction

Taux de satisfaction des apprenants, nombre d'apprenants, taux et causes des abandons, taux de retour des enquêtes, taux d'interruption en cours de prestation...