Formation en Développement: C++ - Avancé - Ascent Formation
Retour aux formations
Développement

C++ - Avancé

2 jour(s)14h

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