Accueil    Formations    Informatique    Langages et développement    Conception et langages    Langage C++ - Programmation

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vidéo de présentation

Cette formation peut être financée grâce au CPF (Compte Personnel de Formation). Le Compte Personnel de Formation permet d'acquérir des droits à la formation professionnelle, comptabilisés en euros, que chacun peut utiliser avec ou sans l'accord de son employeur tout au long de sa vie active (y compris en période de chômage) pour suivre une formation qualifiante ou certifiante. 

Consultez le montant de vos droits CPF Consultez la charte de déontologie

Objectifs pédagogiques / Compétences visées

  • Programmer objet en C++
  • Définir l'héritage et le polymorphisme
  • Identifier les types de fonctions dont les inlines
  • Gérer la mémoire et les pointeurs
  • Utiliser la STL (Standard Template Library)
  • Surcharger des opérateurs.

Niveau requis

Avoir connaissance du langage C, est conseillé.

Public concerné

Développeurs.

Programme

Jour 1

C++ langage basé sur le C : rappels

  • Instructions, déclaration de variables, types et littéraux
  • Portée des variables
  • Les opérateurs et leurs priorités
  • Les conditions, opérateurs logiques
  • Les boucles, while, do while, for, break continue, goto
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un premier programme sans classe
  • Utilisation des déclarations de variables et des types
  • Ajout des opérateurs principaux de C++
  • Ajout des structures de contrôle principales

Structure d'un programme

  • Le préprocesseur C / C++
  • Header et implémentation
  • Utilisation des constantes
  • Compilation conditionnelle
  • Déclaration anticipée (forward)
Exemples de travaux pratiques (à titre indicatif)
  • Travail sur les headers et implémentation en C++
  • Compréhension des phases de pré-compilation
  • Compilation de C++

Définition de fonctions

  • La stack
  • Appel d'une fonction
  • Passage par valeur ou par référence
  • Passage par pointeur
  • Pointeur sur fonction
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme avec déclaration et utilisation multiple de fonctions
  • Modification des paramètres passés aux fonctions, par valeur et référence
  • Déduction des différences observées
  • Déclaration et utilisation de pointeurs sur fonctions

Jour 2

Les classes

  • Définition d'une classe
  • Gestion de l'encapsulation
  • Constructeur
  • Membres et fonctions statiques d'une classe
  • "this"
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un projet incluant plusieurs classes développées
  • Encapsulation des données
  • Utilisation des constructeurs
  • Compréhension du "this" dans les méthodes de classe
  • Exploitation des membres et fonctions statiques

Jour 3

Gestion de la mémoire

  • Context Automatique, rappel sur la stack
  • Context Statique
  • Context Dynamique
  • Destructeur d'une classe
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un nouveau projet sur la gestion mémoire
  • Heap et stack
  • Travail sur les destructeurs et constructeurs

Const

  • L'intérêt du "const"
  • Paramètres "const"
  • Fonctions membre "const"

Fonctions inline

  • Inline implicite
  • Inline explicite
  • Impact sur la compilation
  • Impact sur le code généré
Exemple de travaux pratiques (à titre indicatif)
  • Ajout et test de fonctions "inline" au projet

Jour 4

Héritage et polymorphisme

  • Héritage public de C++
  • Construction des classes dérivées
  • Utiliser la ZIM
  • Fonctions virtuelles
  • Fonctions virtuelles pures et classes de bases abstraites
  • Destruction des classes dérivées
Exemples de travaux pratiques (à titre indicatif)
  • Reprise du projet sur les classes
  • Ajout de niveaux d'héritage
  • Ajout de fonctions virtuelles et virtuelles pures
  • Ajout de classes abstraites

Surcharge d'opérateur

  • Opérateur de cast
  • Opérateur de pointeur
Exemple de travaux pratiques (à titre indicatif)
  • Sur un nouveau projet, ajout de la surcharge de plusieurs opérateurs et tests

Jour 5

Constructeur de copie et surcharge d'opérateur d'affectation

  • Surcharge
    • Du constructeur de copie
    • De l'opérateur d'affectation

La STL (Standard Template Library)

  • Les conteneurs
  • Les itérateurs
  • Les algorithmes
Exemple de travaux pratiques (à titre indicatif)
  • Projet exploitant les apports de la STL en C++

Gestion des exceptions

  • Les problématiques
  • Exception et références
  • Exception et valeurs
  • Exception et pointeurs
Exemple de travaux pratiques (à titre indicatif)
  • Ajout de la gestion des exceptions try-catch sur les divers projets réalisés

Evolutions du langage C++

  • Les lambda expressions
  • Les closures
  • Panorama des apports des versions C++11 à C++20
  • Apports des nouvelles versions dans le langage
  • Apports des nouvelles versions dans les classes

Certification (en option)

  • Prévoir l'achat de la certification en supplément
  • L'examen (en français) sera passé le dernier jour, à l'issue de la formation et s'effectuera en ligne
  • Il s'agit d'un QCM dont la durée moyenne est d'1h30 et dont le score obtenu attestera d'un niveau de compétence
  • NB : Certification M2i "Langages de Programmation" valide jusqu'au 31/12/2021. N'hésitez pas à contacter votre Conseiller Formation pour toute information complémentaire

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)

Compétences attestées par la certification

  • Développer des applications ou logiciels conformément au cahier des charges
  • Intégrer un produit ou un programme à partir des outils, méthodes ou langages
  • Etre autonome dans l'exécution des tâches
  • Préparer les plans de tests d'une application
  • Conduire les tests unitaires
  • Optimiser les tests de performance d'une application
  • Assurer la veille technique et concurrentielle.

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Testez vos connaissances

Nos quizz vous guident dans le choix de formation.
Évaluez votre niveau de pré-requis pour découvrir la formation faite pour vous.

Accédez au test de connaissance

Faites évoluer vos compétences

Complétez votre formation

JavaScript Top ventes

A 4,8/5


4 jours
Initiation / Fondamentaux

Présentiel Classe à distance
CPF

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous