TRA Travailleurs

C++ Orienté Objet

La programmation orientée objet (POO) est un paradigme essentiel du développement logiciel moderne, permettant de structurer et d'organiser efficacement des projets complexes. Le C++, avec son approche puissante et flexible de la POO, est un outil de choix pour créer des applications robustes et évolutives. Cette formation vous guidera à travers les concepts clés de la POO en C++, des bases aux techniques avancées, vous permettant de maîtriser ce paradigme et de l'exploiter pleinement dans vos développements.

Libérez le potentiel de la POO en C++

Au cours de cette formation, vous plongerez au cœur de la POO en C++, en explorant les concepts fondamentaux tels que les classes, les objets, l'héritage, le polymorphisme, l'encapsulation et l'abstraction. Vous apprendrez à modéliser des problèmes du monde réel de manière élégante et efficace, à créer des hiérarchies de classes pour favoriser la réutilisation de code, et à exploiter la puissance du polymorphisme pour écrire du code plus flexible et adaptable.

3 jours

Durée de la formation

icone de date ligne courbe
icone de date ligne courbe

Début de la formation

icone de cible

Objectifs de la formation

Au terme de cette formation, le participant sera capable de :

  • Appliquer les bases du C++ : Comprendre et utiliser la syntaxe du langage C++, y compris les types de données, les opérateurs, les structures de contrôle et les fonctions.
  • Appliquer les concepts de la programmation orientée objet (POO) : Utiliser les classes, les objets, l'héritage, le polymorphisme et l'encapsulation pour structurer et organiser le code de manière efficace.
  • Exploiter l'héritage : Créer des hiérarchies de classes, réutiliser du code et modéliser des relations "est un" entre les objets.
  • Gérer les erreurs avec les exceptions : Utiliser les exceptions pour gérer les erreurs de manière structurée et améliorer la robustesse des applications.
  • Surcharger les opérateurs : Définir un comportement personnalisé pour les opérateurs standard lorsqu'ils sont utilisés avec des objets de classes définies par l'utilisateur.
  • Utiliser les templates : Créer des fonctions et des classes génériques pour travailler avec différents types de données de manière flexible et réutilisable.
  • Gérer les entrées/sorties : Lire des données depuis différentes sources (clavier, fichiers, etc.) et écrire des données vers différentes destinations (écran, fichiers, etc.).
  • Développer des applications embarquées : Appliquer les connaissances acquises en C++ pour développer des applications destinées à des systèmes embarqués, en tenant compte des contraintes spécifiques de ces environnements (ressources limitées, temps réel, etc.).

Points forts de la formation

  • Progression pédagogique : Des bases de la POO aux concepts avancés comme la surcharge d'opérateurs et les templates.
  • Pratique intensive : Exercices et projet final pour ancrer votre apprentissage et développer vos compétences.
  • Outils modernes : Utilisation d'environnements de développement C++ et de bibliothèques pour faciliter votre travail.
  • Vision complète : Exploration de la syntaxe C++, des entrées/sorties (I/O) et de la bibliothèque standard de modèles (STL).
image point fort

Prérequis pour la formation

Connaissance de base en C++ ou en programmation orientée objet dans un autre langage.

arrière plan carte prérequis

Programme
de la formation

  • La syntaxe du C++ (différences entre C et C++)
    • Données : définition, initialisation, types de données
    • Expressions : notion de référence, mécanismes de cast
    • Opérateurs (: :, new, delete)
    • Fonctions (passage de paramètres et valeur de retour par référence, valeurs par défaut, inlining, surcharge)
    • Utilisation du code C dans un programme C++
    • Les références (arguments et valeurs de retour)
    • Les types constants
    • Les espaces de nommage
    • Le typage "automatique" avec le mot-clé auto (C++ 11)
  • Approche Orientée Objet
    • Les principes généraux des techniques Objet
    • C++ et la programmation Objet
    • Une introduction aux méthodologies orientées Objet
    • Une introduction aux modèles et à la notation UML (modèle statique, dynamique, modèle de coopération, scénario)
  • Les classes et les objets C++
    • Les aspects syntaxiques : les champs, les méthodes, les constructeurs
    • Le contrôle d'accès
    • L'autoréférence
    • Les champs et méthodes statiques
    • Les fonctions
    • Les méthodes et les classes Friend
    • La création dynamique des tableaux d'objets
    • Les aspects méthodologiques : la conception des classes
    • Les constructeurs de copie et de déplacement (C++11)
    • La délégation de constructeurs (C++ 11)
    • Introduction aux problématiques de gestion mémoire (pile, tas, ramasse-miettes...)
  • Dérivation et héritage
    • Principe de la dérivation
    • Les aspects syntaxiques : la définition des classes dérivées, les constructeurs
    • Le contrôle d'accès
    • La mise en oeuvre du polymorphisme : les fonctions virtuelles
    • La réutilisation de code : les classes abstraites
    • Les interfaces
    • La dérivation multiple
    • Les aspects sémantiques et méthodologiques : la factorisation du code
  • Les exceptions
    • Les aspects syntaxiques : les blocs de try, la génération des exceptions
    • Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions
  • La surcharge des opérateurs
    • Principe de la surcharge
    • Surcharge des opérateurs binaires
    • Surcharge particulière : l'opérateur indice, fonction, conversion
    • Surcharge des opérateurs de gestion mémoire
    • Surcharge des opérateurs '<<' et '>>'
  • Les modèles
    • Modèle de classe. Principes et mécanismes généraux. Surcharge des modèles et redéfinition de méthodes
    • Modèle de fonction. Principes et mécanismes généraux. Surcharge des modèles
    • Modèles et surcharge des opérateurs
    • Les modèles et les mécanismes de dérivation
    • Les améliorations proposées par C++ 11
  • Les I/O et aperçu sur la STL
    • Les I/O
    • Le principe des streams et la hiérarchie des classes d'entrée/sortie
    • Description de quelques classes d'entrées/sorties
    • Aperçu sur la STL
    • Objectifs et principes
    • Descriptions de quelques modèles et classes
    • Les conteneurs, les itérateurs, la boucle basée sur un intervalle (C++ 11)
  • Exercices pratiques
    • Prise en main de l’environnement de développement et réalisation d’une application simple
    • Application des concepts OO sur une étude de cas
    • Développement de l’étude de cas : conception et construction d’une hiérarchie de classes et d’interfaces
    • Mise en place du polymorphisme sur l’étude de cas
    • Introduction des exceptions sur l‘étude de cas
    • Surcharge des opérateurs simples
    • Exercices pratiques sur les modèles
image ligne principale image ligne secondaire

Personne de contact

Magali Gerard

Magali Gerard

Assistante administrative Entreprises

+32 71 25 49 60 [email protected]

Formateur :

La société CogniTIC est active dans les domaines de la consultance, du développement et de la formation en systèmes d’information. Tous les collaborateurs de CogniTIC mettent à profit leur expérience en tant que développeur, architecte logiciel, analyste métier, responsable qualité ou chef de projet pour proposer des formations méthodologiques et technologiques en fonction des besoins des entreprises et des réalités du marché.