Dernière mise à jour le 12/12/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 . Toutes les formations sont en présentiel par défaut mais les salles sont équipées pour faire de l'hybride. – 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.
Validations des acquis : grille d'evalution  des acquis établie par le formateur en fin de formation.
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.
France Travail: sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
CPF -MonCompteFormation
Contactez nous pour plus d’information : contact@aston-institut.com

Lieux & Horaires

Durée : 28 heures
Délai d'accès : Jusqu'a 8 jours avant le début de la formation, sous condition d'un dossier d'insciption complet

Prochaines sessions

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++"

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

Formation continue

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

F28028

Les tests Unitaires en Java

    • Comprendre l'impact (cout, temps) et le rôle des tests unitaires dans un projet
    • Pouvoir développer de bons tests unitaires sur l'API Junit dans sa version 4 et 5
    • Comprendre ce qu'est un Mock et comment en faire usage
 

14 heures de formations sur 2 Jours
En savoir plus

Formation continue

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

F28040

L’intégration continue, un enjeu pour la qualité

      • Maîtriser les phases de mise en oeuvre d’une intégration continue  
      • Maîtriser les maillons d'une chaîne d'intégration continue  
      • Automatiser la construction de vos applications  
      • Mettre en place un tableau de bord de vos intégrations  
      • Générer des rapports liés à l'activité de développement et à la qualité
      • Valider le respect des normes de développement par les développeurs via Sonar
 

21 heures de formations sur 3 Jours
En savoir plus