Programmation C++
Sept séances pour traverser le langage : intro à la POO, constructeurs/destructeurs, surcharge, polymorphisme, I/O, exceptions, templates & STL. Notes, TPs et anti-sèche.
- Tout le programme est au menu. L'examen ressemblera à ceux des concours initiaux de Cergy / Pau — voir les 3 annales ci-dessous pour le format type.
- Forte probabilité que le DS soit très proche de celui des camarades de Pau. Selon un élève de Pau :
- Exo 1 : code à écrire autour de cercle / segment — tester si un point appartient à un cercle.
- Exo 2 : exo d'héritage avec un scénario « grand-mère qui lègue son héritage ».
- Code à écrire simple (pas de piège technique majeur).
i. Les sept séances
Chaque séance a son encre signature. Clique pour entrer.
Introduction à C++
Origines, POO, déclaration de classes, encapsulation, premiers exemples.
Constructeurs & destructeurs
Cycle de vie d'un objet, constructeur de copie, destructeur, this. TP permutation.
Surcharge
Surcharge de fonctions, d'opérateurs (=, +, <<, []). Friend functions.
Héritage & polymorphisme
Classe dérivée, virtual, classes abstraites, pure virtual. TP formes géométriques.
Gestion I/O
Flux standards, fichiers, format, persistence. TP I/O sur fichiers.
Exceptions
try/catch/throw, hiérarchie std::exception, gestion d'erreur idiomatique.
Templates & STL
Templates de fonctions et classes, vector, list, map, iterateurs, algorithmes.
ii. Annales & révision
Pour se mettre en conditions réelles avant le contrôle.
Examen ING2 MF (1h30)
5 exercices : passage de paramètres, abstraction, héritage Point/PointCol, diamant, templates STL.
Examen ING2 GIA FA (2h)
4 exercices avec corrigé partiel : passage paramètres, classe Image (operator[]), polymorphisme (virtual/override), priority_queue urgences hôpital.
Examen ING2 MF (2h)
Gros sujet de programmation : simuler un ordonnanceur avec priority_queue, classe abstraite Objet, foncteur, exceptions.
iii. Zones très probables au contrôle
- Écrire un constructeur, un constructeur de copie, un destructeur (et savoir quand chacun est appelé)
- Surcharger l'opérateur
=(rule of three/five) - Surcharger
<<enfriendpour afficher un objet - Définir une classe abstraite avec
virtual … = 0et l'instancier via dérivation - Hiérarchie de classes avec polymorphisme (
virtual, override) - Lire/écrire dans un fichier (
ifstream,ofstream) - Gérer une erreur avec
try/catch/throwet exception personnalisée - Template de fonction et de classe
- Utiliser
std::vector,std::listet un itérateur
iv. Cartographie SE ↔ TP
| Séance | TP | Contexte pratique |
|---|---|---|
| SE1 | — | Premier programme, déclaration de classe |
| SE2 | TP2 | Permutation — construction et destruction d'objets |
| SE3 | TP3 | Surcharge d'opérateurs sur classe utilisateur |
| SE4 | Formes | Hiérarchie Forme → Cercle/Rectangle, polymorphisme dynamique |
| SE5 | TP5 | Lecture/écriture de fichiers, formats |
| SE6 | TP6 | Exceptions — création, capture, hiérarchie |
| SE7 | TP7 | Templates et STL — conteneurs et algorithmes |
📅 Plan de révision suggéré
| Phase | Action |
|---|---|
| J-7 à J-5 | Lis les 7 séances en survol. Repère les schémas et snippets. |
| J-5 à J-3 | Refais les TPs sans regarder la correction. Bloque sur quoi ? |
| J-3 à J-2 | Révise les flashcards de chaque séance (sections « Réviser le chapitre »). |
| J-2 | Refais les quiz de chaque séance — un par jour les jours qui précèdent. |
| J-1 | Refais l'examen 2024 MF en conditions réelles (1h30, sans documents). |
| J | Relis tes notes. Respire. |
🔮 Prédiction d'examen
Format pratique : code à écrire, simple, sans pièges techniques (annonce prof). DS très proche du sujet des camarades de Pau.
- Exo 1 — Notions élémentaires (passage paramètres, références)
- Exo 2 — Concepts abstraits (
virtual,const, classes abstraites) - Exo 3 — Construction / destruction d'objets simples
- Exo 4 — Hiérarchie d'héritage 2-3 niveaux (Point → PointCol → PointForme) + erreurs à corriger
- Exo 5 — Intégration STL (
vector<T>, itérateurs) + schéma UML demandé
Les annales 2024 GIA FA et 2020 MF ont des formats légèrement différents (4 exos, plus de code à écrire). Le DS 2026 pourrait suivre l'un ou l'autre selon le prof — préparer les deux configurations.
#include nécessaires.
| Séance | Forme probable | Justification |
|---|---|---|
| SE1 — Introduction POO | Code à écrire (squelette de classe) | Base de tout exo C++. Le canevas du sujet Pau (Cercle, Segment) demande de déclarer une classe avec attributs private, constructeur, accesseurs publics. Probabilité élevée que la première partie de l'exo 1 soit la définition d'une classe. |
| SE2 — Constructeur / destructeur | Code à écrire (constructeur de copie ou rule of three) | Brique présente dans tous les exos d'objets composés. Si la classe gère un tableau dynamique (ex. Polygone avec ses sommets), le constructeur de copie + destructeur + operator= deviennent obligatoires. |
| SE3 — Surcharge | Code à écrire (operator<<, operator+, méthode de comparaison) |
Exo 1 type Pau : tester si un point appartient à un cercle → méthode contient(Point) + opérateurs d'affichage. operator<< en friend est un classique de DS. |
| SE4 — Polymorphisme | Code à écrire (classe abstraite + classes dérivées) | Exo 2 type Pau : grand-mère qui lègue son héritage → classe abstraite Personne + Heritier avec méthode virtuelle pure. C'est l'exo signature du chapitre — quasi certain. |
| SE5 — Gestion I/O | Sous-question (lecture/écriture fichier) | Apparition probable en bonus ou en sous-question d'un exo principal (« sérialise les héritiers dans un fichier »). Pas d'exo dédié dans les annales 2024 MF / 2020 MF. |
| SE6 — Exceptions | Sous-question (gestion d'erreur) | Souvent intégré à un exo principal pour 1-2 points : « lance une exception si le rayon est négatif ». Présent dans toutes les annales C++ comme partie d'un exo. |
| SE7 — Templates & STL | Code à écrire (template de fonction) ou question de cours | Annale 2024-2025 GIA FA : exo sur priority_queue. Le prof aime tester un usage de la STL (vector, list, map). Peut servir de petit exo ou de sous-question. |
- ~ 8-10 pts · Exo 1 : classe(s) géométrique(s) — Cercle / Segment / Point. Mobilise SE1, SE2, SE3 (surcharge).
- ~ 8-10 pts · Exo 2 : hiérarchie d'héritage avec méthode virtuelle pure. Mobilise SE4 et SE2 (ctor/dtor virtuel).
- ~ 2-4 pts en sous-questions sur SE5, SE6, SE7 (fichiers, exceptions, STL).
💡 Stratégie : maîtriser parfaitement les 3 annales (2024 MF + 2024 GIA FA + 2020 MF). Le format est très stable d'une année à l'autre.