Description
Objectif de formation : Apporter les connaissances nécessaires pour consolider des notions de bases du langage C++
Objectifs pédagogiques
- 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
Public concerné
Développeurs
Chefs de projets techniques
Prérequis
Avoir des bases en programmation C++
Déroulé du programme
1
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
2
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
3
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
4
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
5
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
6
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
Informations
Durée
2 jour(s)
14h
Tarif
1500 € HT
HT