Formation C++
Le cours de C++ s'oriente autour d'un module fondamental
conséquent qui permet de couvrir l'essentiel des rouages de la
programmation en C++. Deux autres modules orientés programmation sous
Windows peuvent s'y greffer. Ils concernent d'une part la création
d'applications Windows avec les MFC (Microsoft Fundation Classes) ou la
bibliothèque ATL dédiée aux contrôles ActiveX.
1. Module fondamental (5 jours)
- Présentation du langage C++
- Les fondamentaux
- Types de données fondamentaux
- Structures de contrôle
- Sous programmes
- Le type Référence
- Introduction aux entrées / sorties du C++
- Autre possibilité : différences entre C et C++
- Programmation orientée objet avec C++
- Si nécessaire, rappels sur le modèle objet,
prévoir 2h en plus
- Le modèle orienté objet du C++
- Les classes en C++
- Séparation Déclaration - Définition
- Déclaration dans un fichier de header
- Définition dans un fichier de code
- Focus sur la déclaration
- Déclaration des attributs
- Déclaration des méthodes
- Protection des membres
- Une hérésie propre au C++ : les
friends
- Focus sur la définition
- Définition des attributs de classe
- Définition des méthodes
- Définition de méthodes inline
- Gros plan sur le mot clef const
- Cycle de vie des objets
- Instanciation des objets
- Les constructeurs
- Classe d'allocation des objets
- Statique
- Automatique
- Dynamique
- Construction de tableaux et constructeur par
défaut
- Appel de méthodes d'instance et de classe
- Mort des objets
- Le destructeur
- Différenciation selon la classe
d'allocation
- Duplication des objets
- Constructeur par recopie
- Opérateur d'affectation
- Forme canonique de Coplien
- Agrégation en C++
- Agrégation directe, par pointeur ou par
référence
- Destruction des objets agrégés
- Héritage et polymorphisme
- Syntaxe de l'héritage
- Héritage et modificateurs d'accès
- Forme canonique de Coplien pour l'héritage
- Polymorphisme en C++
- Le mot clef virtual
- Restrictions au polymorphisme
- Héritage multiple et à répétition
- Problèmes soulevés
- Héritage virtuel
- La surcharge des opérateurs
- Syntaxe
- Opérateurs méthodes et opérateurs
fonction
- Les pièges à éviter
- Formes canoniques des opérateurs
- Gestion avancée des types
- Nouvelle syntaxe de transtypage
- Les opérateurs de transtypage
- Les pièges des transtypages automatiques
- Gestion des types durant l'exécution
- Gestion évoluée des erreurs avec les exceptions
- Pourquoi utiliser les exceptions ?
- Gestionnaires d'exceptions
- Des hiérarchies de classes d'exceptions
- Propagation des exceptions
- La généricité
- Fonctions template
- Méthodes template
- Mécanismes template et friends
- Créer des opérateurs génériques avec
les templates
- Introduction à la bibliothèque standard du C++
- La bibliothèque d'entrées sorties
- Les conteneurs et leurs itérateurs
- Conteneurs simples
- Les itérateurs
- Notion d'itérateur
- Intérêt des itérateurs
- Travailler efficacement avec les itérateurs
- Structures de données classiques
- Conteneurs associatifs
- Les foncteurs
- Les algorithmes génériques
2. Programmation MFC en Visual C++ (2 ou 3
jours)
- Prise en main de Visual C++
- Notion de projet et de workspace
- Description de l'environnement
- Structuration du code de programmation Windows
- Les arcanes de la programmation Windows
- Modèle événementiel
- Exemple de programmation API pure
- Les classes de base de la MFC
- La gestion des événements
- Les tables de gestion des événements
- Format standard des méthodes
« callback »
- Les assistants de Visual C++
- Création d'applications
- Applications orientés document
- Application type « boîte de
dialogue »
- Exploration des classes
- Management des événements
- Eléments d'interface sous Windows
- Les contrôles les plus courants
- Boutons
- Textes statiques
- Boîtes d'édition
- Listes et boîtes combo
- Importance de l'ordre de tabulation
- Les menus
- Les barres d'outils
- Programmation graphique
- Contexte graphique
- Fonctions graphiques
- Les documents Windows
- Le modèle Document / Visualisation
- Définir un type de document
- Enregistrer le document
- Sérialisation du document
- Définir une ou plusieurs interfaces pour un document
- Visualisation
- Edition
- Impression
3. Création de contrôles ActiveX avec
Visual C++ (de 2 à 4 jours selon le niveau de détail choisi)
- Présentation de la bibliothèque ATL
- Le modèle COM
- Les Interfaces COM
- IUnknown : l'interface fondamentale
- Les automates
- L'interface IDispatch
- Les bibliothèques de type
- Interfaces doubles
- Création d'un premier objet COM
- Les tables ATL
- Création d'un contrôle ActiveX fenêtré
- Accès aux sous contrôles
- Manipulation des événements
- Lorsque les assistants ne fonctionnent plus
- Accès aux bases de données avec OLE DB
- Le modèle Producteur/Consommateur
- Ecriture de consommateurs
- Utilisation des contrôles ActiveX
- Sous VB
- Avec Visual C++
- Dans une page Web