- Public, pré-requis
- Programmeurs d’application et systèmes ayant à connaître la programmation objet en C++. Une expérience professionnelle de la programmation est indispensable mais la connaissance du langage C n’est pas nécessaire.
- Objectifs
- Etre capable de créer, compiler et exécuter des programmes en C++
- Programme
- La fonction main et les E/S standard. Spécification et corps de main ; affichage de valeurs et de chaînes avec cout ; lecture des valeurs avec cin ; formatage des sorties avec des manipulateurs de flots
- Variables, constantes et références. Déclaration et initialisation de variables ; types de données entiers ; types de données à virgule flottante ; calcul arithmétique et affichage des résultats ; mélange des types entiers et à virgule flottante dans les calculs et affectations ; utilisation des références pour l’efficacité et des constantes pour la sécurité
- Définition et appels de fonctions Passage des arguments aux fonctions et retour des valeurs depuis des fonctions ; passage des arguments : par valeur ou par référence ; visibilité, durée et valeur initiale des variables temporaires locales et des paramêtres
- Décisions, boucles et logique Prise de décision avec if/else ; valeurs logiques bool ou int ; chaînes d’instructions if/else ; éxécution de boucles avec while et for ; opérateurs d’égalité, relationnel et logique ; opérateurs incrémentiel et décrémentiel
- Tableaux, pointeurs et chaînes Déclaration et utilisation de tableaux et pointeurs ; stockage de chaînes dans des tableaux de caractères ; accès aux éléments des tableaux par l’intermédiaire des pointeurs ; pointeurs ou références ; la clause string standard et ses méthodes
- Encapsulation des types de données de niveau supérieur Fonctions membres publiques et données membres privées ; membres protégés des classes ; constructeurs et destructeurs ; synthaxe d’initialisation de membre ; auto-référence : le pointeur this
- Déclaration, modification et accès aux objets Manipulation des tableaux d’objets, des pointeurs vers des objets et des références aux objets ; appel des fonctions membres ; fonctions membres const ; passage des objets par valeur et par référence
- Surcharge des opérateurs et des fonctions Simplification des interfaces des classes ; signatures des fonctions ; surcharge de l’affectation (=) et de l’insertion (<<) ; fonctions friend ; construction de copie explicite ; comment éviter les constructions par défaut d’affectation et de copie
- Séparation des interfaces et des mises en œuvre Comment la séparation aide à la réutilisation de code ; création de fichier en-tête et de fichier de code ; l’opérateur (=) membre de la classe ; spécification des fonctions en ligne
- Dérivation de nouvelles classes des classes existantes Construction et destruction d’objets dérivés ; relations “est-un” ; réutilisabilité par extensions incrémentielles ; classes de base et classes dérivées ; redéfinition des fonctions membres de la classe de base dans des classes dérivées
- Utilisation de fonctions polymorphiques Redéfinition des fonctions membres virtuelles de la classe de base dans des classes dérivées ; surcharge à l’exécution des fonctions par les pointeurs sur les classes de base et les références