IB FORMATION : 04. C++, programmation Objet
Organisme
92911 PARIS LA DEFENSE CEDEXVoir toutes ses formationsAutres organismes proposant cette formation
Durée
35 heuresModalités
Formation
- Classe virtuelle
- Présentiel
Évaluation
Une attestation de fin de formation sera remise au stagiaire à l'issue de la formation
Prix
Public
Développeurs, ingénieurs, chefs de projets proches du développement.
Pré-requis
Connaître les principes de la programmation orientée objet et disposer d’une expérience d’un langage de programmation…
Objectifs pédagogiques
- 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
Programme détaillé
1. INTRODUCTION A 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é
2. SYNTAXE ET MODÈLES 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<T>
- 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<T>, shared_ptr<T>) de C++11
- Les espaces de noms (namespaces)
3. 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)
4. 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)
5. 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
6. GÉNÉRICITÉ - TEMPLATES
- Définitions de patrons, syntaxe et instanciation
- Patrons de fonctions
- Templates de classe
7. 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
LES PLUS DE LA FORMATION
- Une pédagogie efficace : l'alternance d'exposés théoriques et de mises en application immédiates à travers de nombreux travaux pratiques.
- Les méthodes, bonnes pratiques et astuces pour tirer le meilleur parti de la programmation en C++ et développer ainsi des applications stables et performantes.
- Répartition théorie/pratique : 45% / 55%
- Cette formation se compose d’une alternance d’apports théoriques, de travaux pratiques, de démonstrations, de phases d’échanges entre participants et de synthèses de la part du formateur.