Formation - Programmation Orientée Objet en C++ Les compléments
Référence : uZtfUtHjLdFK
Durée : 35 h sur 5 j
Logo - ATP FORMATION
ATP FORMATION
VALBONNE
Cette formation s'adresse aux développeurs ainsi qu'aux chefs de projets informatique souhaitant compléter leurs connaissances sur le langage de programmation C++ ISO 2017.

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

  • Cette formation vous permettra de compléter vos connaissances sur le langage C++ ISO 2017 et de maîtriser les principales librairies proposées.
  • L'environnement de développement utilisé sera basé sur G++ et Eclipse/CDT.

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

  • Avoir suivi la formation « Programmation Orientée Objet en C++ - Les fondamentaux » ou connaître les bases de la programmation orienté objet en C++.

Modalités d'enseignement

  • En présentiel
  • En distanciel

Public cible

Tous publics

Programme

1
Compléments sur le concept de généricité en C++
- Définitions de méthodes et de classes génériques
- Template avec types par défaut
- Déclaration de variables locales et le mot clé typename
- Template à nombre variable de types
- Spécialisation de template
- Notions de « traits » et l'entête
2
Manipulation de chaînes de caractères via des expressions régulières
- La librairie
- Qu'est-ce qu'une expression régulière ?
- Le langage d'expression régulière proposé par C++
- Mise en correspondance, remplacement et extraction d'informations
- Les expressions régulières gourmandes
- Travaux pratiques : utilisation d'expressions régulières pour réaliser des mises en correspondances, des remplacements et des extractions d'informations
- Compléments Boost pour la manipulation de chaînes de caractères
- Travaux pratiques : utilisation des compléments offerts par Boost
3
Gestions des copies en C++
- Opérateurs de copie et constructeurs par copie
- Correctement réaliser les copies
- Interdire les copies
- Opérateurs et constructeurs de « move »
- Travaux pratiques : corrections de bugs relatifs à la copie d'objets et retrait des fonctionnalités de copie
4
RAII et les « Smart Pointers »
- Introduction à RAII (Resource Acquisition Is Initialization)
- Mise en œuvre d'une classe générique de « Smart Pointers »
- Problématique des cycles de pointeur
- Travaux pratiques : Implémentation d'une classe de « Smart Pointers »
- Les différentes classes de « Smart Pointers » proposées en C++ ISO
- Travaux pratiques : utilisation des classes standards de « Smart Pointers »
5
La librairie <typeinfo> et la réflexion en C++
- La librairie
- L'opérateur typeid
- Transtypage dynamique : opérateur dynamic_cast
- Les autres opérateurs de transtypage
- Travaux pratiques : mise en œuvre d'un prototype de moteur de sérialisation
6
Utilisation de la STL (Standard Template Library)
- Présentation de l'architecture STL : les conteneurs, les itérateurs et les algorithmes
- Travaux pratiques : utilisation de quelques conteneurs proposés par la STL
- Les différents types d'itérateurs
- Les différentes techniques de parcours de collections : itérateurs, for_each, instruction for each, ...
- Concept de « functions objects »
- Travaux pratiques : utilisation de « functions objects »
- Les différents types de collections de la STL
- Les conteneurs ajoutés par C++11
- Etude de divers algorithmes proposés par la librairie standard
- Travaux pratiques : utilisation des conteneurs standards et des algorithmes associés
7
Programmation fonctionnelle en C++ et moteur de binding
- Le concept de lambda
- Les différents types de captures proposés
- Travaux pratiques : application des lambda à la manipulation de conteneurs STL
- Le bind C++
- Travaux pratiques : utilisation du module std::bind
8
Manipulation du système de fichiers
- La librairie introduite par C++ ISO 2017
- Utilisation de path
- Fonctions de convenances
- Travaux pratiques : mise en œuvre d'un programme permettant de lister le contenu d'un disque
- Couplage avec la librairies de manipulation de flux (istream et ostream)
9
Programmation multi-tâches en C++
- Pourquoi programmer en multi-tâches ?
- Qu'est ce que thread et qu'est-ce qui le différencie d'un processus ?
- La librairie
- Connaître les spécificités multi-tâches du système d'exploitation utilisé
- Les mécanismes de synchronisation des accès concurrents
- RAII et la gestion des verrous
- Problèmes de performances en cas de mauvaise stratégie de synchronisation
- Opérations atomiques
- Utilisation de local storage
- Travaux pratiques : développement d'un programme multitâches et synchronisation des accès concurrents

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)