Langage C++ - Programmation Orientée Objet
Domaine : Developpement.
Objectifs : Cette formation permet aux apprenants de connaître les bases du langage C++ et d'utiliser les outils de structuration orientés objet.
Participants : Toute personne ayant besoin de développer des applications à l'aide du langage C++.
Prérequis : Les apprenants doivent être en mesure d’utiliser un ordinateur et avoir des bases en programmation.
- Découvrir la POO
- C inclus en C++
- Fonction main() : entrée du programme
- "Hello world !" en C
- Appréhender les bases de la programmation
- Variables simples
- Constantes
- Affectation
- Affichage et saisie console
- Opérations
- Conversions de types
- Gérer les structures de contrôle
- Bloc d'instructions
- Instruction conditionnelle if
- Définir une condition
- Couple d'instructions if-else
- Forme contractée du if-else, opérateur conditionnel "?"
- Cascade d'instructions if - else if - else
- Tests multiconditions (ET/OU)
- Branchement : switch
- Rupture de séquence : goto avec étiquette
- Trois boucles : while, do-while et for
- Sortie et saut forcés dans une boucle
- Boucle for (:) "pour chaque"
- Créer des fonctions
- Principe
- Fonction sans retour et sans paramètre
- Déclaration et visibilité d'une fonction
- Fonction avec paramètres
- Fonction avec retour
- Fonction avec retour et avec paramètres
- Fonctions embarquées "inline"
- Valeurs par défaut de paramètres
- Surcharge des fonctions
- Fonctions génériques (template)
- Portée et durée de vie des variables
- Structurer
- Principe de la structure
- Structure / entite 1
- Utilisation d'un typedef
- Structures en retour ou en paramètre de fonction
- Structures imbriquées
- typedef inutile pour les structures
- Fonctions comme champs de structures
- Structure C++ synonyme de classe
- Des classes plutôt que des structures
- Utiliser les bibliothèques
- Création d'une bibliothèque (.h)
- Espaces de noms (namespace) et raccourcis (using)
- Directive using
- Précision sur la liaison entre C++ et C
- Gérer les unions
- Principe
- Unions discriminées
- Créer un tableau
- Déclaration d'un tableau
- Tableaux à plusieurs dimensions
- Tableaux comme champ dans une structure
- Tableaux de structures
- Tableaux d'unions
- Tableaux et fonctions
- Boucle for (:) "pour chaque"
- Tableaux d'objets
- Tableau dans une classe
- Conteneurs : rapide introduction
- Utiliser les pointeurs
- Déclaration d'un pointeur dans un programme
- Opérateur adresse : &
- Opérateur étoile : *
- Opérateur flèche : ->
- Opérateur crochet : [ ]
- Priorité des quatre opérateurs
- Pointeur générique void*
- Pointeurs et constantes
- Cas des pointeurs de fonction
- Type référence (pointeur masqué)
- Retour d'une référence
- Opérateurs new et delete, new[ ] et delete[ ]
- Précisions sur l'opérateur new
- La valeur nullptr
- Un souci de rigueur
- Utiliser les exceptions
- Instruction throw
- Instruction de saut try-catch
- Instruction throw et appels de fonctions
- Instruction throw sans valeur de retour
- Bloc catch(...) par défaut
- Exception non gérée
- La fonction terminate
- La fonction unexpected
- Utiliser les exceptions standards du C++
- Mise à jour de outils.h
- Gérer les classes et les objets
- Une classe, des objets
- Programme C muté en classe et objet
- Constructeurs
- Constructeur de copie
- Constructeur de déplacement
- Affectation (operateur =)
- Destructeur
- default et delete pour les fonctions spéciales de classe
- Accesseurs (property en anglais)
- Instruction friend ("ami")
- Surcharger les opérateurs
- Fonction operator globale hors classe
- Fonction operator localisée dans une classe
- Fonction operator et données dynamiques
- Objet-fonction (ou fonction-objet)
- Gérer les associations
- Principes des associations pour les relations entre objets
- Associations simples : messages entre objets
- Agrégations : coopération entre objets
- Liaisons réciproques entre objets
- Composition : dépendance entre objets
- Gérer l'héritage
- Classe dérivée
- Appel explicite d'un constructeur de la classe de base
- Redéfinition de données ou de fonctions
- Spécification d'un membre de la classe de base
- Droits d'accès locaux de la classe héritée
- Droits d'accès globaux de la classe héritée
- Héritage multiple
- Distinction entre héritage et association
- Gérer le polymorphisme
- Accès pointeurs limité par son type
- Autorisation d'accès pour les fonctions virtuelles
- Destructeur virtuel
- Intérêt des fonctions virtuelles
- Utiliser les classes abstraites
- Classe abstraite, fonctions virtuelles pures
- Tronc commun pour dériver
- Interface
- Comparer C et C++
- Sur les utilisations de pointeurs
- Sur l'utilisation des paramètres et retours de fonctions
- Sur l'utilisation de l'union
- Sur l'utilisation du typedef
Méthode d'évaluation : Formative : évaluation tout au long de la formation par des exercices suivis d’un questionnaire de satisfaction « à chaud » en fin de stage, rempli par le participant.
Consultant : Développeur Spécialiste Langage C/C++/C#.
Méthode d'apprentissage : La formation est constituée d’une alternance de théorie et d’exercices pratiques. Un support imprimé Langage C++ - L'héritage du C et la programmation orientée objet remis en fin de formation.
Langue : Cette formation est dispensée en français.
Une attestation de formation reprenant l'ensemble des objectifs pédagogiques sera délivrée à chaque participant à l'issue de la formation.
Informations
Référence : DEV012.
Nombre de jour(s) : 5.
Prix de la journée (€ HT) : A partir de 530.
Session garantie dès le premier inscrit.
De 1 à 4 auditeurs maximum, un poste par apprenant.
Dernière mise à jour : 02/08/2022.
Nous Sommes Là Pour Vous Aider !
Horaires
Du Lundi au Vendredi
De 9:00 à 17:30