C++ OO et embarqué
Description
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é
What are the aims of the training?
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
What do you need to know to follow the training?
Connaissance d’un langage de programmation.
Training programme
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 oeuvre 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é
Exercices pratiques
-
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