Développer en C++ - Niveau 1
Description
Le langage C++ bien qu'ayant une réputation de complexité est encore beaucoup utilisé aujourd'hui. Il est important pour l'utiliser de comprendre les concepts associés ainsi que les problématiques mémoire qu'il est possible de rencontrer.
Objectifs
A l'issue de cette formation, les participants seront en mesure de:
- Comprendre les concepts présentés dans les différents modules de la formation
- Pouvoir effectuer des choix entre les différentes techniques présentées
- Réussir à les mettre en oeuvre de façon autonome lorsque le module est accompagné de travaux pratiques
Méthodes pédagogiques
Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).
Participants
Toutes personnes souhaitant découvrir le langage C++.
Pré requis
- La connaissance d'un langage informatique est préférable
Programme
Les notions de base en C++
Avant de pouvoir utiliser le langage, il est nécessaire de découvrir les notions de base qui y sont associées.
- Les types de base
- Les boucles et les conditions
- Les pointeurs
- Le modificateur const
- Les références
- Les espaces de nommage
Les concepts Objet
C++ étant un langage orienté Objet, il est important de regarder quels en sont les principes et comment modéliser cela.
- Les concepts Objet
- Le langage UML
- Les diagrammes de classe
Les fonctions
Présentation des fonctions et de leurs utilisations possibles.
- Structure et déclaration d'une fonction
- Les paramètres par défaut
- La surcharge de fonctions
- La redéfinition de fonction
- Les fonctions constantes
Les classes en C++
Présentation de l'utilisation des classes, structures et unions en C++.
- La structure d'une classe
- Les structures et les unions
- Les interfaces
- Les constructeurs et le destructeur
L'héritage
Présentation de la mise en place des principes de base de l'héritage.
- Mise en place de l'héritage
- La redéfinition des fonctions
- Les fonctions virtuelles
- Les classes abstraites
La surcharge des opérateurs
Présentation du mécanisme de surcharge des opérateurs.
- Pourquoi surcharger les opérateurs ?
- Les différents types de surcharges
- Surcharges de quelques opérateurs +, - ...
Les templates
Mise en place de la généricité pour les classes et les fonctions.
- Le rôle des templates
- Les fonctions templates
- Les classes templates
La gestion des exceptions
Présentation de la gestion des erreurs en C++.
- Les blocs try/catch
- Définir des exceptions
- Lancer une exception
Les entrées/sorties
Etude des classes permettant de gérer les entrées/sorties standard ainsi que les accès aux fichiers.
- Les différentes classes
- Lecture des entrées clavier
- Affichage dans la console
- Accès aux fichiers