Code : CPP
Objectif
Les stagiaires seront capables de concevoir des applications C++ utilisant des classes, devenir architectes de classes en créer leur propre architecture. Il s’agit du cours de base.
Contenu
Révision sur le langage C, introduction aux concepts de P.O.O. (programmation orientée objet), les classes, l’agrégation, l’héritage, le polymorphisme, la gestion des exceptions, les templates.
Animations
Les formations C++ sont réalisées par des formateurs ayant une grande expérience dans la conception objet et le langage C++. Ils ont participé à des projets mettant en situation parfois des équipes de plus de 100 développeurs C++. Ils connaissent également le langage C et surtout Java et peuvent comparer les différents langages.
Ateliers
Il s’agit d’un cours avec une grande part consacrée aux travaux dirigés (plus de 50% du cours).
Public
Développeurs.
Pré-requis
Connaître de préférence le langage C.
Remarque
Le cours C++ fait l’objet d’une comparaison avec les langages C et Java. Le premier parce qu’il en est issu et le second car Java talonne sur le marché le langage C++.
Durée
5 jours
Programme de la formation Le langage C++
Rappel sur le langage C : les pointeurs
- Historique
- L’aspect compilation et édition des liens
- Les pointeurs
- Les tableaux
- Les doubles pointeurs, mécanismes mémoire
Les concepts de la Programmation objet
- Les paradigmes de la P.O.O.
- La classification
- L’encapsulation
- L’agrégation, la composition de classes
- L’héritage, la dérivation, la sous classification
- L’abstraction, la généricité
Le langage C++, le langage
- Les types de données, les opérateurs
- Le type référence et le pointeur
- Les structures de contrôles
- Les fonctions et les procédures
- L’opérateur de résolution de portée
- Liaison C – C++
- Les paramètres par défaut des fonctions
- Les fonctions « inline »
- Comparaison avec Java
Les classes
- Définition d’une classe
- Les qualificateurs » public » et » private «
- Les constructeurs par défauts
- Les constructeurs surchargés
- Les constructeurs par copie
- Les destructeurs
- Les fonctions membres de classes et les fonctions membres d’objets
- Comparaison avec Java
L’agrégation
- Principe
- Ordre d’appel des constructeurs et destructeurs
- La liste d’initialisation de constructeur
- Comparaison avec Java
L’héritage, la dérivation
- L’héritage public simple
- Règle des constructeurs destructeurs
- Les règles de conversion
- Le qualificateur d’accès » protected «
- Diverses syntaxes et accès
- L’héritage privé
- L’héritage multiple
- Comparaison avec Java
Le polymorphisme
- Les fonctions virtuelles
- Le mécanisme du polymorphisme
- Les destructeurs virtuels
- Les classes abstraites et les fonctions virtuelles pures
- Comparaison avec Java
La gestion des exceptions
- Principe du traitement des anomalies
- Try, catch et throw
- Traiter une anomalie
- Lever une anomalie
- Comparaison avec Java
Les templates
- Principe de la généricité
- Les classes templates
- Les fonctions templates
- Exemple d’un template