Présentation : Le langage C++ reste un langage objet très utilisé. Sa puissance et ses performances le rendent incontournable dans des applications exigeantes comme dans les applications temps réel ou de calcul intensif. Le C++ est l’un des langages de programmation avec une grande variété de plates-formes matérielles.
Public concerné : développeurs, chefs de projets.
Objectifs : comprendre la notion d’objet et les concepts fondamentaux du langage C++ afin de maîtriser le développement d’applications en C++. Ce cours permet d’introduire les notions du C++ pour réaliser des premiers programmes en Programmation orienté Objet.
Durée : 5 jours
Pré-requis : ce cours s’adresse à des développeurs ayant déjà une expérience de la programmation en langage C.
Travaux pratique : les travaux pratiques sont réalisés en utilisant le compilateur DevC++ ou Visual C++ sous Windows ou encore gcc sous Unix/Linux.
Contenu de la formation
Introduction au concept objet :
- intérêt du concept objet
- principes de l’approche objet
- propriétés: encapsulation, héritage, polymorphisme
Présentation :
- historique
- caractéristiques
- domaines d’utilisation
- outils de développement: Visual C++, Borland C++, Dev C++, GNU C++
Le langage C++ comme amélioration du C :
- typage fort
- constantes
- arguments par défaut
- conversions
- édition de liens
- fonctions inline
- surcharge de fonctions
- référence
- espaces de noms
Les classes, les objets :
- attributs, méthodes
- droits d’accès private et public
- constructeurs, création d’objets
- constructeur de copie
- rôle du destructeur
- surcharge de méthodes
- mot-clé this
- passage d’arguments, retour de méthodes
- variables et méthodes de classe
- classes internes
Héritage :
- mise en oeuvre: classe de base et classes dérivées
- héritages privés, protégés, public
- accès protected
- manipulation d’objets de sous-classes
- héritage multiple
- héritage multiple répété: classes de base virtuelles
Polymorphisme :
- principe
- méthodes virtuelles, virtuelles pures
- destructeurs virtuels
- classes et méthodes abstraites
Identification de type à l’exécution (RTTI):
- opérateur dynamic_cast
- opérateur typeid
Amies (friends) :
- principe
- fonctions amies
- classes amies
Surcharge d’opérateurs :
- principe
- par méthode d’instance
- par fonction amie
Gestion des exceptions :
- gestion sur place avec try, catch, finally
- propagation
- lever une exception avec throw
Généricité :
- template de fonctions
- template de classes
Introduction à la bibliothèque STL :
- organisation
- entrées/sorties
- présentation des principaux templates