Une formation sur mesure ?

Devis immédiat

Nos clients

logos clients Nativo formation
Formations inter / intra entreprise
Revenir aux formations Language C, C++

Formation Initiation au langage C++

Ref. NATC1

durée

5 jours

Tarif

2350€ ht

Toutes les dates

Objectifs

  • Apprendre la programmation objet au travers du langage C++.
  • Maîtriser l'analyse et la conception de programmes orientés objets.

Public

Toute personne amenée à programmer, à superviser ou à modifier des logiciels écrits en langage C++ et liés au système d'exploitation.

Prérequis

Il est demandé aux participants de connaître les bases d'un langage structuré (Pascal, C, ou autre).

Programme

Introduction à la conception orientée objet

  • Les paradigmes de développement (procédural, objet, fonctionnel, déclaratif)
  • Principes de conception objet : Abstraction, Encapsulation, Héritage et Polymorphisme
  • Généricité

Syntaxe et modèle de C++

  • Point d’entrée d’une application
  • Utilisation de la console, objets d’entrée/sortie (streams)
  • Fonctions, paramètres et spécificateurs
  • Les tableaux
  • La classe C++11 arrayT>
  • Structures de contrôle
  • La boucle « for-each » de C++11
  • Introduction à la bibliothèque standard
  • Les modèles mémoire (Data segment, Heap, Stack)
  • Les pointeurs et les références
  • La classe std::string
  • L’initialisation uniforme de C++11
  • Allocation et désallocation dynamiques
  • Les smart pointers (uniqueptrT>, sharedptrT>) de C++11
  • Les espaces de noms (namespaces)

Les concepts Objet appliqués au C++

  • Classes, instances, cycle de vie d’un objet
  • Encapsulation et visibilité (public-private-protected)
  • Méthodes, constructeurs, destructeurs
  • La zone d’initialisation des membres (ZIM)
  • Surcharge (overloading)
  • Membres de classes (ou statiques)
  • Héritage, classes abstraites et concrètes
  • Constance et robustesse
  • Les nouveaux mots-clés (default, delete, override, final) de C++11
  • Polymorphisme et interfaces
  • Héritage privé
  • La surcharge des opérateurs
  • Clonage d’objets (construction par recopie / opérateur d’affectation)

Robustesse et traitement des exceptions

  • Traitement des erreurs
  • Assertions
  • Traitement des exceptions
  • Les clauses try – catch
  • Gestionnaires d’exception
  • Création d’une classe d’exception personnalisée
  • Contrôle runtime de C++11 (clause noexcept)

Points clés de la Standard Template Library (STL)

  • Présentation des principaux conteneurs (vector, list, set, map, deque)
  • Critères de choix pour un conteneur STL
  • Emplacement de C++11
  • Les itérateurs
  • Les algorithmes génériques

Généricité - Templates

  • Définitions de patrons, syntaxe et instanciation
  • Patrons de fonctions
  • Templates de classe

Qualité logicielle et tests d’applications

  • Les best practices en C++
  • Idiomes et règles de conception
  • Introduction aux design patterns
  • Le développement guidé par les tests (TDD – Test Driven Development)
  • Présentation succincte de GoogleTest

Moyens et Méthodes Pédagogiques

  • La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
  • Un poste par stagiaire
  • Formateur Expert
  • Remise d’une documentation pédagogique papier ou numérique pendant le stage

Validation des acquis

  • Auto évaluation des acquis par le stagiaire via un questionnaire en fin de formation
  • Attestation de fin de stage remise avec la facture