Organisme de Formation aux technologies et métiers de L'informatique
c-plus-plus

Formation C++ - Programmation Objet

Mettre en œuvre les principes fondamentaux de la conception orientée objet et de concevoir des applications en C++

Informations générales

LNG200
5 jours (35h)
2 875 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Appliquer les principes de la Conception Orientée Objet
  • Maîtriser la syntaxe du langage C++
  • Concevoir des applications C++ utilisant des classes
  • Utiliser les outils de développement associés au langage C++
  • Maîtriser les ajouts majeurs de la norme C++ 11

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeurs
  • Ingénieurs
  • Chefs de projets proches du développement

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Connaître les principes de la programmation orientée objet
  • Disposer d'une expérience d'un langage de programmation

Programme de la formation

C++ est un langage de choix pour réaliser des applications évolutives, robustes et efficaces. Cette performance a cependant un prix : elle suppose de la part du développeur une réelle maîtrise, tant au niveau de la syntaxe que des concepts sous-jacents tels que les modèles mémoire, l'orientation objet ou encore la généricité. Cette formation permettra aux participants d'appréhender les principes fondamentaux de la conception objet et de les appliquer de façon effective en C++.

Introduction à la conception orientée objet

  • Les paradigmes de développement (procédural, objet, fonctionnel, déclaratif)
  • Principes de conception objet : Abstraction, Encapsulation, Héritage et Polymorphisme
  • Généricité

Syntaxe et modèle de C++

  • Point d'entrée d'une application
  • Utilisation de la console, objets d'entrée/sortie (streams)
  • Fonctions, paramètres et spécificateurs
  • Les tableaux
  • La classe C++11 array
  • Structures de contrôle
  • La boucle « for-each » de C++11
  • Introduction à la bibliothèque standard
  • Les modèles mémoire (Data segment, Heap, Stack)
  • Les pointeurs et les références
  • La classe std::string
  • L'initialisation uniforme de C++11
  • Allocation et désallocation dynamiques
  • Les smart pointers (unique_ptr , shared_ptr ) de C++11
  • Les espaces de noms (namespaces)

Les concepts Objet appliqués au C++

  • Classes, instances, cycle de vie d'un objet
  • Encapsulation et visibilité (public-private-protected)
  • Méthodes, constructeurs, destructeurs
  • La zone d'initialisation des membres (ZIM)
  • Surcharge (overloading)
  • Membres de classes (ou statiques)
  • Héritage, classes abstraites et concrètes
  • Constance et robustesse
  • Les nouveaux mots-clés (default, delete, override, final) de C++11
  • Polymorphisme et interfaces
  • Héritage privé
  • La surcharge des opérateurs
  • Clonage d'objets (construction par recopie / opérateur d'affectation)

Robustesse et traitement des exceptions

  • Traitement des erreurs
  • Assertions
  • Traitement des exceptions
  • Les clauses try – catch
  • Gestionnaires d'exception
  • Création d'une classe d'exception personnalisée
  • Contrôle runtime de C++11 (clause noexcept)

Points clés de la Standard Template Library (STL)

  • Présentation des principaux conteneurs (vector, list, set, map, deque)
  • Critères de choix pour un conteneur STL
  • Emplacement de C++11
  • Les itérateurs
  • Les algorithmes génériques

Généricité - Templates

  • Définitions de patrons, syntaxe et instanciation
  • Patrons de fonctions
  • Templates de classe

Qualité logicielle et tests d'applications

  • Les best practices en C++
  • Idiomes et règles de conception
  • Introduction aux design patterns
  • Le développement guidé par les tests (TDD – Test Driven Development)
  • Présentation succincte de GoogleTest
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/11/2023