C++ orienté objet
Classes, objets, héritage, polymorphisme et les piliers de la POO en C++.
Classes et objets
Classes, structs et encapsulation
Comprenez la différence entre struct et class, les spécificateurs d'accès, l'encapsulation, les fonctions membres const, les membres statiques et l'initialisation d'agrégat moderne.
Constructeurs, destructeurs et règle de 0/3/5
Maîtrisez le cycle de vie complet des objets C++ — de la construction à la destruction — et apprenez quand écrire (ou ne pas écrire) les fonctions membres spéciales.
Sémantique de copie : profonde vs superficielle
Apprenez la différence entre les copies superficielles et profondes, comment implémenter des opérations de copie correctes pour les classes possédant des ressources, et l'idiome copy-and-swap.
Héritage et polymorphisme
Héritage et relations est-un
Apprenez l'héritage public, le chaînage de constructeurs, le problème du découpage, l'héritage multiple et le problème du diamant — et quand l'héritage est approprié.
Fonctions virtuelles, vtables et polymorphisme
Plongez dans le polymorphisme d'exécution : comment le dispatch virtuel fonctionne en coulisses, quand utiliser override et final, les classes abstraites et le RTTI.
Surcharge d'opérateurs
Apprenez à surcharger correctement les opérateurs — membre vs non-membre, formes canoniques, opérateurs de flux, l'opérateur spaceship C++20 et les pièges courants.
Conception POO
Membres statiques, singletons et PIMPL
Explorez les membres statiques, le patron Singleton de Meyers, le patron Factory et l'idiome PIMPL pour la stabilité ABI et l'isolation de compilation.
Composition, interfaces et conception
Maîtrisez la composition plutôt que l'héritage, les interfaces abstraites pures, les principes de conception (ISP, DIP), std::variant comme alternative à l'héritage, et l'effacement de type.