Article original : Learn C++ Programming for Beginners – Free 31-Hour Course
Le C++ est l'un des langages de programmation les plus populaires depuis plus de 30 ans. Les développeurs l'utilisent pour tout, de la création de jeux vidéo à la programmation de systèmes d'exploitation.
Nous venons de publier un cours complet de 31 heures sur le C++ sur la chaîne YouTube freeCodeCamp.org.
Daniel Gakwaya a développé ce cours. Daniel est un ingénieur logiciel expérimenté et créateur de cours.
Ce cours vous donnera une introduction complète au C++ moderne avec C++20. Vous passerez du niveau débutant à utilisateur avancé.
Voici tous les sujets abordés dans ce cours :
Chapitre 1 : Installation des outils
- Outils
- Installation des compilateurs C++ sur Windows
- Installation de VS Code sur Windows
- Configuration de Visual Studio Code pour C++ sur Windows
- Installation des compilateurs C++ sur Linux
- Installation de Visual Studio Code sur Linux
- Configuration de Visual Studio Code pour C++ sur Linux
- Installation des compilateurs C++ sur MacOs
- Installation de Visual Studio Code sur MacOs
- Configuration de Visual Studio Code pour C++ sur MacOs
- Compilateurs en ligne
Chapitre 2 : Plongeons dans le vif du sujet
- Votre premier programme C++
- Commentaires
- Erreurs et avertissements
- Instructions et fonctions
- Entrée et sortie de données
- Modèle d'exécution des programmes C++
- Langage de base C++ vs bibliothèque standard vs STL
Chapitre 3 : Variables et types de données
- Introduction aux variables et types de données
- Systèmes de numération
- Types entiers : décimaux et entiers
- Modificateurs d'entiers
- Nombres fractionnaires
- Booléens
- Caractères et texte
- Auto
- Assignations
- Résumé sur les variables et types de données
Chapitre 4 : Opérations sur les données
- Introduction aux opérations sur les données
- Opérations de base
- Priorité et associativité
- Incrémentation et décrémentation préfixée/postfixée
- Opérateurs d'assignation composés
- Opérateurs relationnels
- Opérateurs logiques
- Formatage de sortie
- Limites numériques
- Fonctions mathématiques
- Types intégraux étranges
- Résumé des opérations sur les données
Chapitre 5 : Contrôle de flux
- Introduction au contrôle de flux
- Instructions If
- Else If
- Switch
- Opérateurs ternaires
- Résumé du contrôle de flux
Chapitre 6 : Boucles
- Introduction aux boucles
- Boucle For
- Boucle While
- Boucle Do While
Chapitre 7 : Tableaux
- Introduction aux tableaux
- Déclaration et utilisation des tableaux
- Taille d'un tableau
- Tableaux de caractères
- Limites des tableaux
Chapitre 8 : Pointeurs
- Introduction aux pointeurs
- Déclaration et utilisation des pointeurs
- Pointeur vers char
- Carte mémoire du programme revisitée
- Allocation dynamique de mémoire
- Pointeurs pendants
- Quand new échoue
- Sécurité des pointeurs null
- Fuites de mémoire
- Tableaux alloués dynamiquement
Chapitre 9 : Références
- Introduction aux références
- Déclaration et utilisation des références
- Comparaison des pointeurs et des références
- Références et const
Chapitre 10 : Manipulation de caractères et chaînes de caractères
- Introduction aux chaînes de caractères
- Manipulation de caractères
- Manipulation de chaînes C
- Concaténation et copie de chaînes C
- Introduction à std::string
- Déclaration et utilisation de std::string
Chapitre 11 : Fonctions
- La règle de définition unique
- Première prise en main des fonctions C++
- Déclaration de fonction et définitions de fonction
- Fichiers multiples - Modèle de compilation revisité
- Passage par valeur
- Passage par pointeur
- Passage par référence
Chapitre 12 : Obtenir des résultats des fonctions
- Introduction à l'obtention de résultats des fonctions
- Paramètres d'entrée et de sortie
- Retour des fonctions par valeur
Chapitre 13 : Surcharge de fonctions
- Introduction à la surcharge de fonctions
- Surcharge avec différents paramètres
Chapitre 14 : Fonctions lambda
- Introduction aux fonctions lambda
- Déclaration et utilisation des fonctions lambda
- Listes de capture
- Capturer tout dans le contexte
- Résumé
Chapitre 15 : Modèles de fonctions
- Introduction aux modèles de fonctions
- Essai des modèles de fonctions
- Déduction de type de modèle et arguments explicites
- Paramètres de modèle par référence
- Spécialisation de modèle
Chapitre 16 : Cours accéléré sur les concepts C++20
- Introduction aux concepts C++20
- Utilisation des concepts C++20
- Construction de vos propres concepts C++20
- Zoom sur la clause requires
- Combinaison des concepts C++20
- Concepts C++20 et auto
Chapitre 17 : Classes
- Introduction aux classes
- Votre première classe
- Constructeurs C++
- Constructeurs par défaut
- Setters et Getters
- Classe à travers plusieurs fichiers
- Notation d'appel de pointeur flèche
- Destructeurs
- Ordre des appels de constructeurs et destructeurs
- Le pointeur this
- struct
- Taille des objets
Chapitre 18 : Héritage
- Introduction à l'héritage
- Premier essai sur l'héritage
- Membres protégés
- Spécificateurs d'accès de la classe de base : Zoom
- Spécificateurs d'accès de la classe de base - Une démonstration
- Zoom sur l'héritage privé
- Restauration des membres dans le contexte
- Constructeurs par défaut avec héritage
- Constructeurs personnalisés avec héritage
- Constructeurs de copie avec héritage
- Héritage des constructeurs de base
- Héritage et destructeurs
- Symboles réutilisés dans l'héritage
Chapitre 19 : Polymorphisme
- Introduction au polymorphisme
- Liaison statique avec héritage
- Liaison dynamique avec fonctions virtuelles
- Taille des objets polymorphes et tranchage
- Objets polymorphes stockés dans des collections (tableau)
- Override
- Surcharge, substitution et masquage de fonction
- Héritage et polymorphisme à différents niveaux
- Héritage et polymorphisme avec membres statiques
- Final
- Fonctions virtuelles avec arguments par défaut
- Destructeurs virtuels
- Casts dynamiques
- Fonctions et destructeurs polymorphes
- Fonctions virtuelles pures et classes abstraites
- Classes abstraites comme interfaces
Regardez le cours complet ci-dessous ou sur la chaîne YouTube freeCodeCamp.org (31 heures de visionnage).