Se rendre au contenu

Orienté Objet (OO) et Embarqué

Développement C++ > Programmation Orientée Objet


Une formation de 4 jours sur la POO en C++ appliquée au développement embarqué : classes, héritage, templates, STL et spécificités de la programmation embarquée.

La formation en 6 mots clés

C++

Orienté Objet

Systèmes Embarqués

STL

Programmation Temps Réel

Embarqué

Informations Pratiques et Programme

Prérequis


Connaissance d’un langage de programmation

Durée


4 jours

Contenu Technique de la Formation


La formation aborde les contenus techniques suivants :

  • Syntaxe C++
  • C++ OO
  • Classes et objets C++
  • Dérivation et héritage
  • Exceptions
  • Surcharge des opérateurs
  • Modèles
  • I/O
  • Embarqué

Objectifs de la Formation


Les objectifs visés par cette formation sont :

  • Comprendre et utiliser la syntaxe du C++
  • Appliquer les concepts OO sur le langage C++
  • Utiliser les concepts de l’héritage
  • Utiliser la gestion des exceptions
  • Appliquer la surcharge des opérateurs
  • Utiliser les modèles
  • Utiliser les entrées/sorties
  • Utiliser le C++ pour développer des applications embarquées

Table des Matières


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)


Embarqué

  • Logiciel embarqué et programmation temps réel
  • Comment programmer et mettre au point sur un micro-contrôleur en C++
  • Utiliser les outils de debug et de développement temps réel
  • Accéder aux périphériques, écrire des routines d’Interruption en C++
  • Introduction aux OS temps réel
  • Les bonnes pratiques en C++ embarqué


En Pratique


  • 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
  • Développement d’une application embarquée

Modalités et Inscription


Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :


Session régulière

Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.


Sur mesure & intra-entreprise

Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.

Obtenir cette formation

Prêt à maîtriser la POO C++ pour les systèmes embarqués ? Rejoignez la prochaine session ou contactez-nous pour organiser cette formation dans vos locaux.


Devis sur-mesure

S'inscrire à cette formation

Remplissez le formulaire pour obtenir plus d'informations.