C++ - Avancé
Formation créée le 10/01/2023. Dernière mise à jour le 20/03/2023.
Version du programme : 1
Programme de la formation
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...