Formation - Infini Software
Infini Software - Organisme de formation en informatique
Maintenez vos compétences à jour grâce à nos formations
Rechercher
☎ 06 63 33 14 06 Espace client



Cursus « Formations C++ » :
Programmation Orientée Objet en C++
Les fondamentaux

Détails :

Durée :
5 Jours
Prérequis :
Connaissance préalable du langage C ou avoir suivi la formation « Le langage C ».
Public :
Cette formation s'adresse aux développeurs ainsi qu'aux chefs de projets informatique souhaitant acquérir les bases du langage de programmation C++.
Objectifs :
Cette formation vous permettra de maîtriser les fondamentaux de la programmation orientée objet en C++. Bien qu'existant depuis le début des années 80, le langage C++ a su évoluer au cours des années pour s'adapter au besoins modernes : l'accent sera mis sur un style de codage moderne en s'appuyant sur C++ ISO 2017. L'environnement de développement présenté aux apprenant sera basé sur G++ et Eclipse/CDT.
  • Découvrir C++ et ses bases avec un "Hello World"
  • Explorer les améliorations de C++ par rapport à C
  • Maîtriser la POO et l'encapsulation en C++
  • Utiliser les templates pour la généricité en C++
  • Implémenter l'héritage et le polymorphisme en C++
  • Gérer les exceptions et erreurs en C++
  • Organiser le code avec les espaces de noms
  • Documenter le code avec Doxygen
  • Gérer les entrées/sorties de fichiers en C++
  • Mettre en œuvre des tests unitaires avec CppUnit
  • Utiliser l'API de log Log4cxx pour le débogage

Demande de devis :

Devis :
Si vous souhaitez être contacté et obtenir plus d'informations sur cette formation veuillez remplir notre formulaire de mise en relation.

Cursus de formation :

Cursus :




Programme détaillé de la formation :

    Historique et introduction à la programmation C++
    • Filiation avec le langage C
    • Pourquoi C++ ?
    • Les différentes versions de la norme C++ ISO et les liens avec Boost
    • Le langage C++ ISO 2017
    • Présentation de GNU G++ et d'Eclipse/CDT
    • Travaux pratiques : mise en oeuvre d'un « Hello World » en C++ avec Eclipse/CDT
    Quelques premières améliorations par rapport à C
    • Les extensions de C++ et le standard C99
    • Les commentaires en C++
    • Une gestion des types plus strictes et le typage automatique
    • Le type bool
    • Simplification de l'utilisation des types énumérés, des structures et des unions
    • Les types énumérés fortement typés
    • Le principe de localité
    • Les nouveaux opérateurs de gestion dynamique de la mémoire
    • Passage de paramètres par références et comparaison avec le mode de passage par pointeurs
    • Valeurs de paramètres par défaut
    • Surcharge de fonctions et d'opérateurs
    • Fonctions inlines
    • Travaux pratiques : implémentation progressive d'une librairie mathématiques en utilisant ces différents concepts
    Introduction à la Programmation Orientée Objet et principe d'encapsulation
    • Pourquoi utiliser la POO (Programmation Orientée Objet)
    • Le vocabulaire propre à la POO
    • Comparatif entre structure C et classe C++
    • Instanciation et utilisation d'objets
    • Notion d'attributs et méthodes
    • Protéger des membres de la classe via la notion de visibilité
    • Constructeurs et destructeurs d'objet
    • Délégation de constructeurs
    • Constructeurs par copies
    • Le principe d'encapsulation
    • Définitions d'opérateurs membres de la classe
    • Assistance proposée par Eclipse/CDT
    • Travaux pratiques : la librairie mathématique développée dans le chapitre précédent et remaniée afin d'intégrer les concepts de POO présentés et de comprendre l'amélioration en termes de qualité du code produit
    Utilisation de la généricité via le concept de Template C++
    • Application de la généricité à la définition de fonctions
    • Application de la généricité à la définition de classes
    • Template utilisant des types par défaut
    • Utiliser plusieurs types de généricité
    • Travaux pratiques : implémentation d'une classe générique permettant la manipulation sécurisée de tableaux
    Héritage et polymorphisme
    • Qu'est-ce que l'héritage ?
    • Mise en oeuvre de l'héritage
    • La redéfinition de méthode et le spécificateur override
    • Liaison statique, liaison dynamique et le polymorphisme
    • Le mot clé protected
    • Héritage public, privé ou protégé.
    • L'héritage multiple en C++
    • Finalisation de classes et de méthodes
    • Assistance proposée par Eclipse/CDT
    • Travaux pratiques : mise en oeuvre d'une hiérarchie de classes en utilisant les différents concepts étudiés
    Traitement d'exceptions en C++
    • Qu'est-ce qu'une exception ?
    • Comparatif avec le traitement d'erreurs en C
    • Lever une exception dans le système
    • Capturer et traiter une exception
    • Relayer une exception
    • Coder une classe d'exception (entêtes <exception> et <stdexcept>)
    • Les principales classes d'exceptions proposées par la librairie standard
    • Travaux pratiques : implémentation d'une classe d'exceptions, déclenchement d'exceptions et traitement de ces dernières
    Utilisation d'espaces de noms pour organiser votre code
    • Qu'est qu'un espace de noms (namespace)
    • Localiser un élément dans l'espace de noms global
    • Le namespace std:: et la librairie standard
    • Travaux pratiques : utilisation d'espaces de noms
    Documenter vos codes
    • Présentation de l'outil Doxygen
    • Les différents marqueurs Doxygen
    • Travaux pratiques : rédaction d'une documentation et génération via Doxygen
    La gestion des I/O en C++
    • Les entêtes<iostream> et<fstream>
    • Accès à des fichiers textes (8 bits ou 16 bits)
    • Correctement traiter les erreurs
    • Travaux pratiques : manipulation de fichiers textes
    • Accès à des fichiers binaires
    • Travaux pratiques : manipulation de fichiers binaires
    Mise en oeuvre de tests unitaires en C++
    • Pourquoi faire des tests unitaires ?
    • Présentation de CppUnit
    • Intégration dans Eclipse/CDT
    • Travaux pratiques : réalisation d'une batterie de jeux de tests unitaires
    Utilisation d'API de log
    • Présentation de Log4cxx
    • Les différents niveaux de logs
    • Configuration du moteur Log4Cxx
    • Outil graphique de visualisation de logs : chainsaw
    • Travaux pratiques : production et analyse de logs
Déclaration d'activité enregistrée sous le n° 93 06 11543 06 du préfet de région de Provence-Alpes-Côte d'Azur.