Cours
Programmation en C++ («CPROGR»)
Description de la formation
Après avoir suivi ce cours, vous serez en mesure de :
- Utiliser des bibliothèques de classes dans vos programmes
- Comprendre et utiliser les Scopes et Namespaces
- Utiliser la classe String pour la gestion des chaînes de caractères
- Définir des classes avec leurs attributs et méthodes
- Comprendre les classes comme un outil pour cacher l'information
- Savoir comment les constructeurs sont utilisés et implémentés
- Modulariser votre code de la bonne manière
- Définir une hiérarchie de classes
- Connaître les différentes visibilités des éléments de classe
- Utiliser les opérateurs new et delete
- Créer un programme avec une gestion dynamique de la mémoire
- Connaître les avantages des pointeurs intelligents
- Comprendre unique_ptr et shared_pr
- Définir des méthodes virtuelles pour réaliser une liaison d'une dynamique
- Savoir comment les interfaces peuvent être définies par des fonctions virtuelles et des classes abstraites
- Utiliser les Streams pour accéder à des fichiers
- Avoir une connaissance de base des Templates
- Utiliser de la bonne façon les Containers vector, deque, list, set map et unordered_set
- Rechercher, trier, etc. les données grâce à des algorithmes STL
- Comprendre la gestion des erreurs avec des exceptions
Le cours comprend les modules suivants. La sélection et l'aprofondissement des modules sera adapté aux compétences et aux préférences des participants.
- Caractéristiques de base
- Namespace
- Références
- Surcharge de fonctions
- Classes Standards importantes
- Utilisation des Streams
- String
- Vecteur
- Classes
- Définition des classes et instanciation
- Attributs (éléments données)
- Accès aux éléments de classe
- Méthodes (fonctions des éléments)
- Information Hiding
- Constructeur
- Modules et interfaces
- Déclaration et définition
- Fonctions Inline
- Eléments de classe statiques
- Gestion de classe, Hérédité
- Hérédité et visibilité des éléments
- Initialisation des classes de base
- Hérédité et polymorphisme
- Gestion de la mémoire dynamique
- Opérateur new
- Opérateur delete
- Utiliser des instances dynamiques
- Forme normale des classes
- Constructeur Copy
- Deep Copy
- Empêcher la copie
- Destructeur
- Opérateur d'affectation
- Move, Références Rvalue
- Smart Pointer
- unique_ptr
- shared_ptr
- Méthodes virtuelles
- Liens statiques
- Liens dynamiques
- Méthodes virtuelles
- Classe abstraite
- Entrées et sorties sur les fichiers
- Templates
- Définir des Templates
- Utiliser des Templates
- Fonctions des Templates
- La Standard Template Library (STL)
- Container
- vector, deque
- list
- set
- map
- Fonctions et fonctions d'objets
- Lambda Expression
- Prédicat, égalité et équivalence
- Algorithmes
- Exceptions
- throw / try / catch
- Hiérarchiser les Exceptions
Cette formation s'adresse aux programmeurs C désirant progresser vers le développement orienté objet ainsi qu'aux développeurs juniors C++ désirant affiner leurs connaissances de ce langage. Cette formation s'adresse également aux personnes qui occupent des postes de chefs de projets et qui désirent acquérir des connaissances de C++ afin d'être en mesure de gérer efficacement l'utilisation de ce langage dans leurs projets.
Au minimum, vous devez maîtriser les bases du langage C ou C++. Il est recommandé d'avoir des connaissances de base de la programmation orientée objets, selon le cours :