Formation - Programmation Orientée Objet en C++ : les fondamentaux
Référence : AFw04NsdEPPm
Durée : 35 h sur 5 j
Logo - ATP FORMATION
ATP FORMATION
VALBONNE
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’environnement de développement présenté aux apprenants sera basé sur G++ et Eclipse/CDT.

Détails de la formation

Méthodes et outils pédagogiques

  • Nombre de stagiaires limité pour plus de proximité et de meilleurs échanges
  • Un poste de travail par stagiaire équipé selon les besoins de la formation
  • Alternance apports théoriques, exercices et échanges
  • Au début de la formation, le formateur veillera à la bonne cohérence des attentes de l'apprenant et du programme prévu. Il prendra soin d'évaluer les attentes de chaque participant. Le formateur s'appuiera sur pédagogie active pour que les apprenants soient acteurs de la formation et découvrent les solutions après avoir été confronté aux problématiques imaginées par le formateur à partir des contraintes exprimées par les apprenants.

Objectifs de la formation

  • Maîtriser la syntaxe du langage C++

Méthodes d'évaluation

  • Evaluation en amont de la formation pour Proposer le programme qui prendra en compte le niveau de départ et vos objectifs opérationnels.​
    Cela nous permets d’identifier clairement votre besoin pour sélectionner le formateur et mettre en place la solution pédagogique adaptée. Cette évaluation se fait soit via notre plateforme en ligne soit via un audit téléphonique
  • Tout au long de la formation, le formateur prendra soin de valider la montée en compétence progressive de chaque apprenant. Durant les parties de travaux pratiques, le formateur restera disponible à tous moments pour aider l’apprenant en cas de difficultés. Chaque TP sera clos par une correction.
  • A la fin de la formation, délivrance d’une attestation remise à chaque stagiaire

Les plus

  • Grande expérience terrain du formateur qui permet d'échanger sur son retour d'expérience et d'illustrer les propos d'exemples réels

Pré-requis

  • Cette formation s'adresse aux développeurs ainsi qu'aux chefs de projets informatique maîtrisant le langage C

Modalités d'enseignement

  • En présentiel
  • En distanciel

Public cible

Tous publics

Programme

1
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 œuvre d'un « Hello World » en C++ avec Eclipse/CDT
2
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
3
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
4
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
5
Héritage et polymorphisme
- Qu'est-ce que l'héritage ?
- Mise en œuvre 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 œuvre d'une hiérarchie de classes en utilisant les différents concepts étudiés
6
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 et )
- 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
7
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
8
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
9
La gestion des I/O en C++
- Les entêtes et
- 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
10
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
11
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

Sur la même thématique

Logo eDRH Sud PACA - Footer
Nous contacter

Chambre de Commerce
et d’industrie Nice Côte d’Azur

20 Boulevard Carabacel
CS 11259
06005 NICE CEDEX 1

Tel :04 93 13 75 73
(Appel gratuit depuis un poste fixe)