
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Dans cette session, vous apprendrez ce qu’est la programmation, ce qu’est un langage informatique et comment l’ordinateur, à partir d’un code source C++, peut générer un programme exécutable : grâce au compilateur.
Dans cette session, après vous avoir fait installé Code::Blocks, je vous ferai découvrir ses principales fonctionnalités, celles qui sont indispensables pour la suite : création de projet, compilation, exécution.
Je vous montrerez également comment configurer Code::Blocks pour suivre cette formation (étape indispensable au bon suivi de la formation). La configuration présentée dans cette session vous est conseillée pour tous vos projets.
[Message de juin 2020 : La version de Code::Blocks a évolué depuis le tournage de cette session. La version 2017 pouvait poser problème (sous Windows notamment) : je vous conseille désormais d’installer la version 20.03. Les projets de cette formation ont tous été revérifiés et sont bien fonctionnels sous Linux et Windows.]
Pour les utilisateurs de Mac OS, il est possible d’utiliser XCode pour suivre cette formation. Je n’ai malheureusement pas de Mac mais ce que je présente dans la formation est standard et donc fonctionnel (en théorie, car je n’ai pas pu tester) sur les OS les plus courants.
Dans cette session, vous apprendrez le code minimal d’une application C++ et comment afficher du texte à l’écran.
À la fin de cette session, notre programme souhaite la bienvenue à l’utilisateur.
Dans cette session, vous apprendrez à enregistrer un nombre dans la mémoire de l’ordinateur en créant une variable.
À la fin de cette session, notre programme aura un prix en mémoire, prix que l’utilisateur aura pour objectif de deviner.
Dans cette session, vous apprendrez à demander à l’utilisateur de saisir une information et à enregistrer cette information dans une variable.
À la fin de cette session, notre programme enregistrera en mémoire la première proposition de l’utilisateur.
Dans cette session, vous apprendrez à exécuter un bloc de code différent selon une condition.
Vous découvrirez également ce qu’est la portée d’une variable.
À la fin de cette session, notre programme répond "C’est plus !" ou "C’est moins !" selon la valeur saisie par l’utilisateur.
Dans cette session, vous apprendrez à exécuter un bloc de code plusieurs fois de suite grâce à la boucle while.
À la fin de cette session, notre jeu du juste prix est jouable !
Dans cette session, vous apprendrez à exécuter un bloc de code un nombre de fois prédéfini grâce à la boucle for. Vous apprendrez également à parcourir un ensemble de valeurs grâce au "range-based for", une autre syntaxe du for.
À la fin de cette session, notre jeu du juste prix enchaînera 3 parties.
Dans cette session, vous découvrirez le switch, structure de contrôle qui permet d’exécuter du code différent selon les valeurs possibles d’une variable.
À la fin de cette session, notre programme s’ouvrira sur un menu qui laissera différents choix à l’utilisateur.
Dans cette session, nous ferons un point sur les types fondamentaux et vous découvrirez comment convertir une variable en un type donné grâce au cast.
Dans cette session, je récapitulerai ce qu’est une variable et vous apprendrez à donner plusieurs noms à une même zone mémoire grâce aux références.
Dans cette session, vous découvrirez les pointeurs bruts, notion fondamentale dans les anciennes versions du C++, leur utilité s’est vue diminuée depuis C++11. Ils restent toutefois un élément indispensable du langage.
Dans cette session, vous apprendrez à créer des constantes mais aussi un type avec comme valeurs possibles un ensemble de constantes : l’énumération.
Dans cette session, vous apprendrez à structurer votre code grâce aux fonctions, afin d’avoir un code plus lisible et réutilisable.
Dans cette session, vous apprendrez à séparer les déclarations (ou prototypes) des fonctions de leurs définitions (ou implémentations). Vous verrez également ce qu’est la surcharge de fonction et comment donner une valeur par défaut à un paramètre.
Dans cette session, vous apprendrez à enregistrer en mémoire un ensemble de valeurs grâce aux tableaux de taille fixe (array).
À la fin de cette session, notre jeu récapitulera les scores des 3 parties écoulées.
Dans cette session, vous découvrirez une petite partie de la bibliothèque chrono.
À la fin de cette session, les parties seront chronométrées !
Dans cette session, vous apprendrez à générer des nombres aléatoires.
À la fin de cette session, notre jeu tirera ses prix aléatoirement à chaque lancement : chaque partie sera maintenant unique !
Dans cette session, vous apprendrez à manipuler les chaîne de caractères, c’est à dire les mots et les phrases grâce au type std::string et au type std::string_view.
Dans cette session, vous apprendrez à utiliser le débuggeur pour retrouver la source des erreurs rencontrées à l’exécution. Vous apprendrez à faire dérouler le programme pas à pas, à utiliser des points d’arrêts (breakpoints) et à surveiller la valeur de vos variables.
L’objectif de cette session est de vous faire programmer seul le jeu du pendu, car la programmation doit se pratiquer pour vraiment être maîtrisée.
Dans cette session, vous apprendrez ce qu’est un objet en programmation : une boîte noire avec des fonctionnalités dont on peut ignorer le fonctionnement interne : on parle d’encapsulation.
Dans cette session, nous installerons ensemble la bibliothèque SFML, qui fournit des outils permettant entre autres de créer une fenêtre et d’y dessiner des formes et des images !
À la fin de cette session, votre projet sera configuré, prêt à être codé !
Un document PDF avec les erreurs les plus communes rencontrées sur ce projet et quelques pistes pour y remédier est attaché à cette session.
Dans cette session, vous apprendrez à créer une fenêtre en SFML et à y dessiner des cercles.
Dans cette session, vous apprendrez à créer votre propre classe, avec ses méthodes (fonctionnalités) et ses attributs (état).
À la fin de cette session : vous aurez créé une classe Vaisseau pour notre jeu Astéroïdes. Sous la forme d’un cercle blanc pour le moment, il pourra commencer à se déplacer.
Dans cette session, vous apprendrez ce qu’est un constructeur : une méthode particulière qui permet d’initialiser un objet. Vous verrez également ce qu’est le destructeur, autre méthode particulière qui est elle appelée au moment de la destruction de l’objet.
À la fin de cette session, notre vaisseau ressemblera visuellement à un vrai vaisseau.
Dans cette session, vous apprendrez également à créer des attributs et des méthodes de classe avec le mot clé static et vous découvrirerez ce qu’est la constcorrectness pour un code de meilleure qualité.
À la fin de cette session, notre vaisseau accélérera et ralentira de façon plus réaliste.
Dans cette session, vous apprendrez à surcharger les opérateurs, ce qui va vous permettre de définir et d’utiliser les opérateurs (+, *, /, …) avec vos propres types !
À la fin de cette session, notre vaisseau pourra tourner et donc se déplacer dans toute la fenêtre.
À la fin de cette session, un astéroïde se déplacera à l’écran.
Dans cette session, vous apprendrez ce que sont le type statique et le type dynamique d’une variable. Vous découvrirez ainsi toute la puissance du polymorphisme et comment créer des méthodes virtuelles.
À la fin de cette session, notre vaisseau se déplacera au milieu de plusieurs astéroïdes.
Dans cette session, je vais vous faire découvrir quelques bonnes pratiques à adopter pour éviter certaines erreurs et avoir un code plus clair et robuste :
Dans cette session, vous apprendrez ce qu’est une fonction virtuelle pure et ce qu’est une classe abstraite. Je vous expliquerai également que toute classe mère doit avoir un destructeur virtuel.
À la fin de cette session, notre vaisseau devra éviter les astéroïdes pour ne pas exploser !
Titulaire d’un diplôme d’ingénieur et après plusieurs années d’expérience, j’ai créé mon entreprise pour partager mes connaissances d’une part et me consacrer à divers projets d’autre part.
J’ai créé ce cours à destination des amateurs, des étudiants et des professionnels qui souhaitent découvrir ou redécouvrir le C++. Ce cours est conçu pour apprendre le C++ moderne (c++17) depuis zéro en prenant tout de suite de bonnes habitudes pour créer rapidement des applications robustes et performantes.
Il est décomposé en deux parties qui suivent chacune un fil conducteur : un programme de Juste Prix pour la première partie et un jeu d’arcade en seconde partie : Asteroids. Ces deux exemples ont l’avantage d’être ludiques et de permettre d’aborder toutes les notions de bases du C++, ces bases pouvant servir aussi bien à la création d’un jeu-vidéo que d’un autre logiciel ou d’un driver.
Dans ce cours, vous découvrirez :
ce qu’est la programmation C++ (dans sa version 2017)
les outils nécessaires à la programmation
comment utiliser la mémoire de l’ordinateur grâce aux variables
comment conditionner du code et créer des boucles grâce aux diverses structures de contrôle (if, while, for, switch)
comment convertir des données d’un type à un autre
ce que sont les références
ce que sont les pointeurs bruts
comment créer des fonctions
comment structurer son code proprement pour un code lisible et modulaire
comment créer et utiliser des tableaux de données
comment gérer le temps (chronomètre)
comment générer un nombre aléatoire
comment gérer les chaînes de caractères (données textuelles)
comment installer une bibliothèque externe
comment créer et utiliser des objets
comment créer des classes (types d’objets)
comment utiliser l’héritage
ce qu’est le polymorphisme et comment l’utiliser
comment gérer de la mémoire dynamique (tableaux dynamiques, pointeurs intelligents)
comment gérer les exceptions (outil permettant de bien gérer les erreurs)
comment créer des templates (modèles de classes et de fonctions : moins de code pour plus d’efficacité !)
comment lire/écrire dans un fichier
Et tout ceci dans les règles de l’art, avec des conseils, les bonnes pratiques à adopter pour un code lisible, efficace et performant.
Alors, n’attendez plus et inscrivez-vous dès maintenant : c’est parti !