Formation Programmation Objet en C++

Le C++ est un langage de programmation compilé très utilisé dans le monde, notamment dans le secteur des jeux vidéos. La formation programmation objets en C++ initie le participant aux méthodes et réflexes de la programmation par objets.

A l'issue de la formation, le participant saura maîtriser la syntaxe du langage C++, mettre en œuvre les concepts de la Conception Orientée Objet, utiliser les outils de développement du langage C++, et maîtriser les ajouts majeurs de la norme C++.

Cette formation est un incontournable pour les développeurs.

Formation Linux/Unix, développement système

À l’issue de la formation, le participant sera en mesure de :

  • 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

Evaluation de la formation et de votre progression vers vos objectifs

Avant le début de la formation, un questionnaire vous permettra d’exprimer vos objectifs personnels et d’évaluer votre degré de maîtrise des principales thématiques abordées dans la formation.

Pendant la formation, le formateur observera vos pratiques afin de pouvoir vous donner des conseils personnalisés quant aux points forts sur lesquels vous pourrez vous appuyer et aux points de vigilance sur lesquels il doit axer ses efforts.

À la fin de la formation, vous aurez à remplir un questionnaire (QCM et/ou des ateliers et des exercices pratiques) pour évaluer vos nouvelles compétences et votre progression vers vos objectifs. Un questionnaire supplémentaire vous permettra d'indiquer votre niveau de satisfaction à l'égard de la formation.

Un questionnaire d’auto-évaluation à froid vous sera proposé 6 à 9 mois après la fin de formation. Celui-ci vous permettra de prendre du recul sur 

les bénéfices acquis, les efforts restant à déployer et votre degré de satisfaction vis à vis de la formation. 

Cette formation s'adresse aux développeurs, ingénieurs et chefs de projets proches du développement.

5 JOURS

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).


Travaux pratiques

Prise en main de l'environnement de développement et programmation d'un programme simple.

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).


Travaux pratiques

Application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants.

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...).


Travaux pratiques

La programmation de l'étude de cas. La conception et la construction d'une hiérarchie de classes et d'interfaces.

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.


Travaux pratiques

La mise en place du polymorphisme dans l'étude de cas.

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.


Travaux pratiques

L'introduction des exceptions dans l'étude de cas.

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 '>>'.


Travaux pratiques

La surcharge de quelques opérateurs simples.

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.


Travaux pratiques

Exercices sur les modèles.

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++.

 

Méthodes et moyens

Cette formation repose sur une combinaison de constructions participatives, de mises en perspectives par des apports théoriques et méthodologiques, et de mises en situation (simulation et jeux de rôle) permettant de mettre en évidence les difficultés et de découvrir progressivement les méthodes et techniques appropriées. 

Bonnes connaissances d'un langage de programmation de type C, Java, C#, VB.NET ou PHP.

  • Rugosité
  • Consciencieux
REF:
NUM_DEV_13
Durée:
5 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
3 000,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023
REF:
NUM_DEV_13
Durée:
5 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
3 000,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023