Programmation Objet en C++
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 19/12/2022.
Version du programme : 2
Programme de la formation
Ce cours intensif a deux objectifs : initier les participants aux méthodes et réflexes de la programmation par objets ; leur apporter une maîtrise opérationnelle complète du langage C++. Il est le fruit d'une longue expérience en matière de développement en C++ et est construit selon une pédagogie rigoureuse reposant sur des travaux pratiques nombreux et progressifs. Le formateur présentera, durant ces 5 jours, les évolutions des normes de C++98 à C++20.
Objectifs de la formation
- Maîtriser la syntaxe du langage C++
- Mettre en œuvre les concepts de la Conception Orientée Objet
- Utiliser les outils de développement associés au langage C++
- Maîtriser les ajouts majeurs de la norme C++ 11
Profil des bénéficiaires
- Développeurs, ingénieurs et chefs de projets proches du développement.
- Bonnes connaissances d'un langage de programmation de type C, Java, Python, C#, VB.NET ou PHP.
Contenu 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 œuvre 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).
-
Conclusion
- Cycle de vie du logiciel : test, intégration, méthode de mise en production.
- Interaction avec les autres environnements.
- Analyse critique du C++.
- Evolution du C++.
Nos formations dont animées par des experts reconnus dans leur domaine possédant une expérience sur le terrain significative et des compétences pédagogiques reconnues.
- Entretien permettant l’analyse des besoins des participants et/ou questionnaire de positionnement
- L’évaluation des compétences est réalisée : Par des exercices pratiques et/ou mises en situation, tout au long de la formation Par un exercice de synthèse et/ou un questionnaire d’auto-évaluation et/ou une certification, en fin de formation
- Questionnaire de satisfaction à chaud en fin de formation, et à froid à 3 mois
- Feuille de présence émargée par demi-journée par les stagiaires et le formateur
- Certificat de réalisation de l’action de formation.
- Méthode participative
- Étude de cas / Mise en situation.
- Exposé et réflexion sur ses propres projets
- Exposés, aides visuelles, support de cours, exercices pratiques d’utilisation
- Questions/réponses entre les stagiaires et le formateur