Le carnet On est
Matière · ING2

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.

~ 4 h de lecture cumulée 7 chapitres + annales TPs : 6 sujets pratiques
📌 Indications du prof
  • 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.

ii. Annales & révision

Pour se mettre en conditions réelles avant le contrôle.

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 << en friend pour afficher un objet
  • Définir une classe abstraite avec virtual … = 0 et 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/throw et exception personnalisée
  • Template de fonction et de classe
  • Utiliser std::vector, std::list et un itérateur

iv. Cartographie SE ↔ TP

SéanceTPContexte pratique
SE1Premier programme, déclaration de classe
SE2TP2Permutation — construction et destruction d'objets
SE3TP3Surcharge d'opérateurs sur classe utilisateur
SE4FormesHiérarchie Forme → Cercle/Rectangle, polymorphisme dynamique
SE5TP5Lecture/écriture de fichiers, formats
SE6TP6Exceptions — création, capture, hiérarchie
SE7TP7Templates et STL — conteneurs et algorithmes

📅 Plan de révision suggéré

PhaseAction
J-7 à J-5Lis les 7 séances en survol. Repère les schémas et snippets.
J-5 à J-3Refais les TPs sans regarder la correction. Bloque sur quoi ?
J-3 à J-2Révise les flashcards de chaque séance (sections « Réviser le chapitre »).
J-2Refais les quiz de chaque séance — un par jour les jours qui précèdent.
J-1Refais l'examen 2024 MF en conditions réelles (1h30, sans documents).
JRelis 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.

Structure type — variable selon les années L'annale 2024-2025 MF suit un format 5 exercices progressifs en 1h30 :
  1. Exo 1 — Notions élémentaires (passage paramètres, références)
  2. Exo 2 — Concepts abstraits (virtual, const, classes abstraites)
  3. Exo 3 — Construction / destruction d'objets simples
  4. Exo 4 — Hiérarchie d'héritage 2-3 niveaux (Point → PointCol → PointForme) + erreurs à corriger
  5. 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.

Modalité 100 % examen terminal écrit. Code à écrire à la main, sans IDE, sans documentation. Penser à signaler les #include nécessaires.
SéanceForme probableJustification
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.
Répartition prévisible des points (~20)
  • ~ 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.