Search
Résultats pour {phrase} ({results_count} de{results_count_total})
Displaying {results_count} results of {results_count_total}
Formation C++ Programmation Orientée Objet en C++ : les fondamentaux
Domaine : Langages et Frameworks
DURÉE
5 jour(s)
OBJECTIFS
Expérimenter C++ et ses bases avec un "Hello World". Distinguer les améliorations de C++ par rapport à C. Expérimenter 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.
Pré-requis
Connaissance préalable du langage C ou avoir suivi la formation "Mise à jour des compétences sur le langage C" (27963).
Participants
Développeur et chef de projets informatiques souhaitant acquérir les bases du langage de programmation C++.
coût
Formation en cours collectif
Nous contacter pour une formation sur mesure ou en intra
LIEUx de formation
Notre centre de formation à GrenobleNotre centre de formation à MoiransNotre centre de formation à Sophia Antipolis
Sur votre site en formation intraEn classe distancielle
PROGRAMME DE FORMATION
C++ Programmation Orientée Objet en C++ : les fondamentaux
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)
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
Valeurs de paramètres par défaut
Les commentaires en C++
Une gestion des types plus stricte 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ètre par référence et comparaison avec le mode de passage par pointeurs
Surcharge de fonctions et d'opérateurs
Fonctions inlines
Travaux pratiques (Implémentation progressive d'une librairie mathématique en utilisant ces différents concepts)
Les commentaires en C++
Une gestion des types plus stricte 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ètre par référence et comparaison avec le mode de passage par pointeurs
Surcharge de fonctions et d'opérateurs
Fonctions inlines
Travaux pratiques (Implémentation progressive d'une librairie mathématique en utilisant ces différents concepts)
Introduction à la Programmation Orientée Objet et principe d'encapsulation
Le principe d'encapsulation
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
Pourquoi utiliser la POO (Programmation Orientée Objet)
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)
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
Pourquoi utiliser la POO (Programmation Orientée Objet)
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++
Qu'est-ce que la généricité ?
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)
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)
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)
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 nom global
Le namespace std:: et la librairie standard
Travaux pratiques (utilisation d'espaces de noms)
Localiser un élément dans l'espace de nom 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)
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)
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)
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)
Les différents niveaux de logs
Configuration du moteur Log4Cxx
Outil graphique de visualisation de logs : chainsaw
Travaux pratiques (Production et analyse de logs)
dates des formations a grenoble
dates des formations a SOPHIA ANTIPOLIS
Cursus formation
Formations de la même thématique
- C++ Mise à jour des compétences sur le langage C
- C++ Programmation Orientée Objet en C++ : les compléments
- C++ Programmation C++ Moderne
- C++ Conception d interfaces graphiques avec Qt 6
- C++ La persistance des données via Qt SQL
- C++ Utilisation de Web Services en C++/Qt
- C++ Utilisation de la librairie BOOST en C++
- C++ Profilage de code C/C++ avec Valgrind
nos centres de formation