Passer au contenu principal
eLearner.app

Cours interactif

Cours C++

Apprenez le C++ moderne à partir de zéro avec des exercices guidés, une validation statique et une intégration avec Compiler Explorer : de la syntaxe de base et des types de données jusqu'aux classes et à la programmation orientée objet.

Vérification statique par mots-clés + exécution sur Compiler Explorer (un clic pour copier le code + ouvrir).

01 · Fondements du C++

3 leçons

Les fondations : variables, types de données primitifs, opérateurs arithmétiques et logiques et gestion de base des entrées/sorties avec std::cout et std::cin.

  1. 1.1Variables et types de donnéesPréciser les types primitifs (int, double, char, bool) et les objets complexes (std::string). Déclaration, initialisation et portée.~10 min
  2. 1.2OpérateursOpérateurs arithmétiques, relationnels, logiques et d'affectation. Priorité et expressions.~8 min
  3. 1.3Entrée/Sortie et fluxLes flux standard de la bibliothèque iostream : envoyer la sortie avec std::cout et lire l'entrée avec std::cin.~10 min

02 · Contrôle du flux

3 leçons

Expressions conditionnelles pour prendre des décisions et boucles pour répéter des instructions.

  1. 2.1Instructions conditionnelles (if-else)Contrôler l'exécution conditionnelle avec les structures if, else if et else.~10 min
  2. 2.2BouclesRépéter des blocs de code avec les boucles for, while et do-while.~12 min
  3. 2.3L'instruction switchGérer plusieurs branchements de manière ordonnée en se basant sur des valeurs constantes entières ou de caractères.~8 min

03 · Fonctions et Références

2 leçons

Décomposer le code en blocs réutilisables et comprendre comment le C++ transmet les données en mémoire.

  1. 3.1Fonctions de baseDéclarer et définir des fonctions. Paramètres d'entrée, type de retour et exécution de base.~10 min
  2. 3.2Passage par valeur et référenceCopies en mémoire vs alias avec l'opérateur de référence (&). Modifier des paramètres externes.~12 min

04 · Programmation Orientée Objet

2 leçons

Introduction aux classes, à l'encapsulation et à la gestion automatique des ressources.

  1. 4.1Classes et ObjetsLa syntaxe class, les membres de données et les fonctions membres. Spécificateurs d'accès public et private pour l'encapsulation.~12 min
  2. 4.2Constructeurs et DestructeursInitialiser l'état de l'objet au moment de sa création et nettoyer les ressources lors de sa destruction.~12 min

05 · Structures de Données et Pointeurs

2 leçons

Gérer des collections de données et comprendre le fonctionnement de la mémoire physique avec les pointeurs.

  1. 5.1Tableaux et VecteursTableaux statiques de style C et vecteurs dynamiques std::vector. Ajout, accès et manipulation de collections de données.~12 min
  2. 5.2PointeursAdresses mémoire, opérateur de référence (&) et déréférencement (*). Utilisation de nullptr pour la sécurité.~15 min

06 · Héritage et Polymorphisme

2 leçons

Étendre des classes existantes et implémenter des comportements polymorphes via des fonctions virtuelles et l'héritage.

  1. 6.1Héritage en C++Créer des hiérarchies de classes avec héritage public, comprendre le spécificateur protected et appeler les constructeurs de la classe de base.~12 min
  2. 6.2Polymorphism et fonctions virtuellesRésoudre les méthodes au moment de l'exécution à l'aide du mot-clé virtual, comprendre les destructeurs virtuels et les classes abstraites pures.~15 min

07 · Smart Pointers

2 leçons

Gestion moderne et sécurisée de la mémoire dynamique sans fuite grâce aux pointeurs intelligents de la bibliothèque standard.

  1. 7.1std::unique_ptr et std::shared_ptrGarantir la propriété exclusive d'une ressource avec unique_ptr ou partagée avec comptage de références via shared_ptr.~12 min
  2. 7.2std::weak_ptrRésoudre les dépendances cycliques et les références non propriétaires associées aux ressources gérées par shared_ptr.~12 min

08 · Templates

2 leçons

Introduction à la programmation générique en écrivant des fonctions et des classes réutilisables indépendantes des types de données.

  1. 8.1Fonctions ModèlesÉcrire des fonctions génériques en définissant des paramètres de type modèle et comprendre la déduction de type par le compilateur.~12 min
  2. 8.2Classes ModèlesImplémenter des classes et des structures de données génériques paramétrées par rapport au type de données contenu.~15 min