Logo C++

Formation C++

C++ est un langage de programmation impératif généraliste, qui a été développé à partir du langage de programmation C dans les années 1970. C++ est utilisé pour créer des applications de système, des applications de bureau, des jeux vidéo et d'autres types de logiciels. C++ se caractérise par une syntaxe basée sur le C, mais il ajoute de nouvelles fonctionnalités telles que la gestion de la mémoire, l'héritage, la surcharge des opérateurs et le polymorphisme. C++ est un langage de programmation à typage fort et statique, ce qui signifie que les types de données doivent être déclarés explicitement et ne peuvent pas être modifiés à l'exécution. C++ est souvent utilisé dans des situations où la performance est cruciale, car il permet aux développeurs de contrôler de manière fine la gestion de la mémoire et de l'exécution du code. C++ est également utilisé dans des situations où la sécurité est importante, car il offre un niveau élevé de contrôle sur le code exécuté. C++ est souvent utilisé dans des domaines tels que la robotique, la création de jeux vidéo, la programmation de systèmes d'exploitation et la programmation de matériel.

Objectifs pédagogiques / Compétences visées

  • Savoir écrire, compiler et déboguer des programmes orientés objets en C++ ANSI
  • Savoir utiliser les pointeurs et les références
  • Connaître les meilleures pratiques
  • Savoir utiliser les outils de développement C++ (VisualStudio, Eclipse, GCC)
  • Savoir utiliser les templates C++
  • Utiliser les classes de la STL

Pré-requis

  • Connaissance d’un langage de programmation
  • La connaissance d’un langage objet est un plus
  • La connaissance d’un langage proche syntaxiquement de C est un plus

Public

  • Développeurs
  • Chefs de projets

Programme

Jour 1

Introduction

  • La programmation objet
  • Evolution du langage C++
  • Les environnements de développement

Rappels UML - principaux diagrammes pour le développeur

  • Diagramme de classe
  • Diagramme de séquence
  • Diagramme d’état
  • iagramme d’activité

C++ - la syntaxe

  • Syntaxe de base
  • Les mots clefs
  • Les types
  • Les fonctions
  • Visibilité des variables
  • Les tableaux
  • Modèle mémoire

Jour 2

C++ - les pointeurs et les références

  • Modèle mémoire
  • Adresse d’une variable
  • Pointeurs
  • Référence

C++ - les classes

  • Structures et classes
  • Propriété
  • Méthode
  • Visibilité des membre de classe
  • Constructeurs et destructeur

C++ - le polymorphisme

  • L’héritage
  • Fonctions virtuelles, virtuelles pures et classes abstraites
  • Polymorphisme sur les pointeurs et les références
  • Héritage multiple et héritage virtuel
  • Rappels des constructeurs et des destructeurs
  • Constructeur de copie

Jour 3

C++ - surcharges des opérateurs

  • Règles de surcharge
  • Appels de l’opérateur d’affectation entre instances de classes
  • Surcharge dans la classe ou globale
  • Fonctions amies, classes amies, méthodes amies

C++ - les exceptions

  • Gestionnaire d’exception
  • Levée d’exception
  • Bloc try - catch

Jour 4

C++ - les templates

  • Template de fonction
  • Template de classe
  • Héritage entre template

C++ - quelques notions avancées

  • Les foncteurs
  • Pointeur vers membres statiques d’une classe
  • Pointeur vers membres non statique d’une classe
  • Les espaces de nommage

Jour 5

C++ - présentation des bibliothèques standard

  • Les bibliothèques standard
  • La classe string
  • Les flux en entrée-sortie

C++ - présentation de la STL

  • Utilisation des templates dans la STL
  • Les collections
  • Utilisation de la STL

C++ - pour aller plus loin

  • Responsabilité des classes
  • Responsabilité du cycle de vie des instances
  • Référencement des pointeurs
  • Spécification de codage
  • Utilisation de const
  • Objets immuables
  • Les opérateurs de cast
  • Les ajouts de C++14
  • Les expressions Lambda
  • && : les rvalue references
  • Sérialisation d’instance

Moyens pédagogiques et techniques

  • Formateur validé par nos équipes techniques et pédagogiques
  • Salle de formation informatisée
  • Support de cours numérique

Suivi et appréciation des résultats

  • Questions orales ou écrites (QCM)
  • Exercices pratiques
  • Formulaires d'évaluation
Dernière modification le 13/01/2023