Dernière mise à jour le 20/07/2024

C++ Programmation avancée

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : Action collective ATLAS "Java, .Net, C++"
Rubrique : C++
Formation éligible au CPF : Non
Formation Action collective : Non

Objectifs & compétences

Maîtriser les concepts avancés du C++ Connaître les principales nouveautés du C++ 11

Public visé

Développeur C++

Pré-requis

Une bonne connaissance du langage C++ est nécessaire

Programme

Chapitre 1 : Rappels sur les classes en C++
Rôle du constructeur de copie
Rôle de l'opérateur d'affectation surchargé
Intérêt du destructeur virtuel
Exercice : mise en oeuvre du const_cast et static_cast                                                                                                                                                                                                                                                                                                                                
 
Chapitre 2   :     Les conversions en C++
Présentation const_cast static_cast reinterpret_cast dynamic_cast
Exercice : mise en oeuvre du const_cast et static_cast                                                                                                                                                                   Les                                                                                                                                                                             c   
 
Chapitre 3 : Les pointeurs sur membres Syntaxe
Mise en oeuvre
Exercice : Utilisation de pointeurs sur méthodes pour effectuer des calculs mathématiques                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               C                                                                                                                                                                                                                                                                                                                                                                                                                                        
 
Chapitre 4 : Les pointeurs intelligents
Principe de la gestion de ressources
Intérêt des smart pointers unique_ptr et shared_ptr
Exercice : remplacement de pointeurs nus par des pointeurs intelligents                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
 
 Chapitre 5 : L'identification de type à l'exécution (RTTI) Principe Fonctionnement du dynamic_cast La classe type_info Exercice : mise en oeuvre de RTTI pour détecter un type particulier dans une hiérarchie de classes
                                                                                                                                                    
Chapitre 6 : Les exceptions Principe Les classes d'exceptions Lever une exception Gestionnaires d'exceptions Liste d'exceptions Hiérarchies d'exceptions Exceptions standards Exceptions et constructeurs Exceptions et gestion des ressources Bonnes pratiques Exercice : Mise en place d'une gestion d'exceptions dans une application en remplacement des messages d'erreur                                                                                                                                                                                                                                                                      C                                                                                                                                                                                                                                                       
 
Chapitre 7 : Les templates Présentation Syntaxe Template de fonctions Template de classes Template de méthodes Instanciation des templates Spécialisation des templates Instanciations partielles Avantages / inconvénients Classe/typename/template Exercice : Mise en oeuvre de fonctions template de fonctions, de classes
                   
       Chapitre 8 : Les foncteurs Présentation Foncteurs prédéfinis Adaptateurs Intérêt des foncteurs Exercice : Mise en oeuvre d'un foncteur avec un algorithme de la STL                                                                                                                 
 
Chapitre 9 : La bibliothèque STL Présentation Les conteneurs Les allocateurs Les itérateurs Les algorithmes Les entrées-sorties Exercice : Mise en oeuvre de quelques conteneurs, d'algorithmes et template d'entrées-sorties Complément d'E-Learning avec Lynda sur la gestion des exceptions
                                    
Chapitre 10 : Les idiomes Traits Policy SFINAE (substitution failure is not an error) CRTP (curiously recurring template pattern) Exercices : mise en oeuvre de chacun des idiomes                                                                                 Chapitre 11 : La méta-programmation Présentation Avantages/inconvénients Optimisations Exercices : mise en oeuvre de la méta-programmation pour effectuer des calculs par le compilateur                                 
 
Chapitre 11 : Présentation de la bibliothèque Boost avec les tests unitaires Présentation des différents modules Static_assert Property_map Tuple Variant Threads BoostTest : librarire permettant de faire les tests unitaires Exercices : mise en oeuvre de quelques template de Boost avec tests unitaires                               C                                                                                                                                                                                                                                                
 
Chapitre 12 : Principales nouveautés du C++11 Les mots-clés auto, decltype et constexpr La constante nullptr La nouvelle boucle for Références rvalue Copie par déplacement Transfert parfait Les fonctions lambda Exercices : Mise en œuvre des mot-clés auto, d ecltype et constexpr Mise en œuvre des références rvalue pour la création et la copie d'objet par déplacement Mise en œuvre       des  expressions lambdas Complément d'E-Learning avec Lynda sur l'essentiel de C++11      
 
                                                                                                                                                                                                                                                                       

Modalités

Modalités : en présentiel, distanciel ou mixte – Horaires de 9H à 12H30 et de 14H à 17H30 soit 7H – Intra et Inter entreprise
Pédagogie : essentiellement participative et ludique, centrée sur l’expérience, l’immersion et la mise en pratique. Alternance d’apports théoriques et d’outils pratiques.
Ressources techniques et pédagogiques : Support de formation au format PDF ou PPT Ordinateur, vidéoprojecteur, Tableau blanc, Visioconférence : Cisco Webex / Teams / Zoom
Pendant la formation : mises en situation, autodiagnostics, travail individuel ou en sous-groupe sur des cas réels

Méthodes

Fin de formation : entretien individuel
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation
Assiduité : certificat de réalisation (validation des acquis)
Code de formation : F28030

Tarifs

Prix public : 2420
Tarif & financement :
Nous vous accompagnons pour trouver la meilleure solution de financement parmi les suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • CPF -MonCompteFormation
Contactez nous pour plus d’information

Lieux & Horaires

Campus : Ensemble des sites

Durée : 28 heures
Délai d'accès :
Jusqu’à 8 jours avant le début de la formation

Distanciel possible : Oui

Prochaines sessions

Cliquez sur la date choisie pour vous inscrire :

  • Inscription au 23 / 09 / 2024
    : Ensemble des sites
    : Distanciel possible
    : 28 heures
    : 4 jours
  • Inscription au 12 / 11 / 2024
    : Ensemble des sites
    : Distanciel possible
    : 28 heures
    : 4 jours
Handi-accueillante Accessible aux personnes en situations de handicap. Pour toutes demandes, contactez notre référente, Mme Rizlene Zumaglini Mail : rzumaglini@aston-ecole.com

à voir aussi dans le même domaine...

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28049

JAVA, programmation avancée

Maîtriser les aspects avancés du langage Java Comprendre comment appliquer les principaux Frameworks et librairies Java Comprendre le modèle de sécurité et le chargement des classes Java Savoir programmer en Java dans le contexte des bases de données relationnelles Savoir tester, debugger et optimiser ses applications Appréhender les nouveautés Java

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28026

JAVA, les fondamentaux de la programmation

A l’issue de la formation, le stagiaire sera capable d’utiliser le langage Java et les principales librairies et technologies associées pour créer une application Maîtriser la syntaxe du langage Java Connaitre les principales APIs du langage Java Maîtriser un environnement de développement intégré pour programmer en Java Savoir utiliser les principales librairies standards Java (entrées/sorties, collections, accès aux données, interfaces graphiques...). Appréhender les nouveautés Java.

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28038

Développer une application Java riche en java FX

    • Maîtriser le développement d'applications riches en Java FX  
    • Comprendre la mécanique des évènements  
    • Voir les différences entre une application Web et une application riche  
    • Comprendre une architecture Web  
    • Service de type REST et son intégration dans une architecture de type client lourd / riche  
    • Déployer une application Java FX
 

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28050

ASP.NET MVC Core, développement d’application Web

Comprendre les principes d’ASP Net MVC Acquérir les compétences pour créer des applications Web avec Visual Studio Apprendre à tester et déboguer des applications Web ASP .NET Core Comprendre comment mettre en œuvre une méthode MVC pour développer en équipe Être capable d'écrire un service Web REST et l'appeler à partir d'une application MVC

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28027

Spring : développer des applications d’entreprise

Comprendre le fonctionnement de Spring et son positionnement dans les technologies Java Savoir gérer la configuration des composants d’une application avec Spring Implémenter un service d’accès aux données Connaître les bonnes pratiques de développement avec Spring Connaître les apports de la Programmation Orientée Aspect (AOP) Sécuriser l’application

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28039

Développer une application graphique en C++ avec Qt

Maîtriser le développement d'écrans avec Qt Comprendre le mécanisme de la gestion d'évènements Savoir utiliser les principales API non graphique de Qt : accès aux données, réseau, fichiers Maîtriser le développement en QML avec QtQuick  

28 heures de formations sur 4 Jours
En savoir plus