Formation Langage C++ - Programmation – Centre de formation M2i
M2i Formation

Découvrez notre formationLangage C++ - Programmation

Présentiel

5 jours (35 heures) - CPP-IN

(150)
Accueil  ›  Formations Informatique  ›  Langages et développement  ›  Conception et langages  ›  Langage C++ - Programmation

Objectifs pédagogiques

  • Programmer objet en C++
  • Maîtriser l'héritage et le polymorphisme
  • Connaître les types de fonctions dont les inline
  • 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.

Paris La Défense03/02/20202 750 € HTDates proposées dans les agences M2iRéserver
Paris La Défense11/05/20202 750 € HTDates proposées dans les agences M2iRéserver
Paris La Défense05/10/20202 750 € HTDates proposées dans les agences M2iRéserver
Paris La Défense07/12/20202 750 € HTDates proposées dans les agences M2iRéserver

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Certification : M2i Langages de Programmation (+ 120€)

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 conteners
  • 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
  • Récupération de ces exceptions

Certification (en option)

  • Nos tests de validation des compétences font partie intégrante du processus d'apprentissage car ils permettent de développer différents niveaux d'abstractions.
  • Solliciter l'apprenant à l'aide de nos QCM, c'est lui permettre d'étayer sa réflexion en mobilisant sa mémoire pour choisir la bonne réponse. Nous sommes bien dans une technique d'ancrage mémoriel.
  • L'examen sera passé à la fin de la formation.

Les + de la formation

L'examen de certification (proposé en option) est en français.

Testez vos connaissances

Objectif : Ce test a pour objectif de tester vos connaissances sur les langages orientés objet.

Faites évoluer vos compétences

Complétez votre formation