Mise à jour en mai 2025. Ce cours intègre désormais Coursera Coach ! Une façon plus intelligente d'apprendre avec des conversations interactives en temps réel qui vous aident à tester vos connaissances, à remettre en question vos hypothèses et à approfondir votre compréhension au fur et à mesure que vous progressez dans le cours. Ce cours avancé se concentre sur la programmation orientée objet et générique en C++, en mettant l'accent sur les principes et les techniques de base que tout développeur expérimenté devrait maîtriser. Le cours vous guidera à travers l'héritage avancé, la gestion des exceptions, les opérations d'entrée/sortie de fichiers et la programmation par modèles, vous donnant les connaissances nécessaires pour écrire un code C++ propre, efficace et réutilisable. Vous explorerez également les fonctionnalités de C++11/14/17 telles que les expressions lambda, les traits de type et l'utilisation avancée de STL. Le cours commence par améliorer vos compétences en programmation orientée objet avec des discussions approfondies sur l'héritage, la composition et le polymorphisme, ainsi que des exemples pratiques et des applications du monde réel. Vous explorerez également des sujets avancés tels que les fonctions virtuelles, le casting dynamique et l'héritage multiple, garantissant une solide compréhension des hiérarchies d'objets complexes. La Gestion des exceptions sera abordée ensuite, où vous apprendrez des techniques avancées telles que le déroulement de la pile, les exceptions imbriquées, et l'utilisation du mot-clé noexcept pour améliorer les performances. Au fur et à mesure que vous progressez, le cours introduit la puissance de la programmation générique à travers les modèles, en explorant des sujets tels que la déduction des arguments des modèles, la transmission parfaite, les modèles variadiques, et la spécialisation des modèles de classe. Vous apprendrez à optimiser le code et à améliorer la flexibilité grâce à ces outils, ce qui vous permettra de construire des composants robustes et réutilisables. Le cours plonge ensuite dans la puissante bibliothèque de modèles standard (STL) du C++, où vous maîtriserez des conteneurs tels que std::vector, std::map et std::unordered_map, et apprendrez les nuances de performance avec la Notation Big-O. Ce cours est conçu pour les programmeurs intermédiaires et avancés qui souhaitent affiner leurs compétences en C++ et acquérir de l'expertise dans les fonctionnalités complexes du C++. Une compréhension de base de la syntaxe du C++ et de la programmation orientée objet est recommandée, et le cours sera le plus bénéfique pour ceux qui visent à développer des applications de haute performance ou à travailler avec de grands systèmes complexes.



Programmation orientée objet et générique avancée en C++
Ce cours fait partie de Spécialisation Complete Modern C++ (C++11/14/17)

Instructeur : Packt - Course Instructors
Inclus avec
Expérience recommandée
Ce que vous apprendrez
Master advanced object-oriented concepts such as inheritance, polymorphism, and multiple inheritance in C++
Gain a deep understanding of generic programming with templates, perfect forwarding, and variadic templates
Understand the inner workings of exception handling and how to handle nested exceptions, stack unwinding, and optimize with noexcept
Harness the power of C++'s Standard Template Library (STL), including custom containers and performance optimization with Big-O notation
Compétences que vous acquerrez
- Catégorie : Modèles de conception de logiciels
- Catégorie : Maintenabilité
- Catégorie : Débogage
- Catégorie : C++ (langage de programmation)
- Catégorie : structures de données
- Catégorie : Programmation orientée objet (POO)
- Catégorie : Systèmes de fichiers
- Catégorie : Algorithmes
Détails à connaître

Ajouter à votre profil LinkedIn
8 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Élaborez votre expertise du sujet
- Apprenez de nouveaux concepts auprès d'experts du secteur
- Acquérez une compréhension de base d'un sujet ou d'un outil
- Développez des compétences professionnelles avec des projets pratiques
- Obtenez un certificat professionnel partageable

Il y a 6 modules dans ce cours
In this module, we will explore core concepts of object-oriented programming including inheritance, composition, and access modifiers. We will also walk through a practical project that covers key OOP principles, such as virtual functions, constructor inheritance, and the use of dynamic_cast and typeid. By the end, you'll gain an understanding of abstract classes and the complexities of multiple inheritance.
Inclus
14 vidéos2 lectures1 devoir
In this module, we will cover the essentials of exception handling in C++, from the basics of throwing and catching exceptions to handling multiple catch blocks. We will also explore advanced topics like stack unwinding, nested exceptions, and the noexcept keyword. The module includes practical demonstrations for managing errors efficiently within your code.
Inclus
6 vidéos1 devoir
In this module, we will introduce various file I/O operations, including reading and writing text files, handling errors, and using the C++17 Filesystem library. You'll also create a utility to copy files and delve into character and binary I/O for more complex file manipulations.
Inclus
7 vidéos1 devoir
In this module, we will dive into templates, one of the most powerful features in C++. We’ll cover everything from basic template usage to advanced topics like perfect forwarding, variadic templates, and type traits. You'll also learn how to specialize templates and work with class templates in various contexts.
Inclus
15 vidéos1 devoir1 plugin
In this module, we will explore lambda expressions in C++11, showing how they simplify code by replacing function objects and callbacks. You’ll also learn about lambda captures, including capturing variables by value or reference, and dive into the inner workings of lambda expressions for a deeper understanding.
Inclus
8 vidéos1 devoir1 plugin
In this module, we will cover the Standard Template Library (STL), focusing on key containers like std::vector, std::map, and std::unordered_map. You’ll also learn how to evaluate algorithm performance using Big O notation, and gain hands-on experience customizing algorithms with function objects and lambda expressions.
Inclus
13 vidéos1 lecture3 devoirs
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Instructeur

Offert par
En savoir plus sur Développement de logiciels
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?





Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
Oui, vous pouvez visionner la première vidéo et le syllabus avant de vous inscrire. Vous devez acheter le cours pour accéder au contenu qui n'est pas inclus dans l'aperçu.
Si vous décidez de vous inscrire au cours avant la date de début de la session, vous aurez accès à toutes les vidéos et à toutes les lectures du cours. Vous pourrez soumettre vos travaux dès le début de la session.
Une fois que vous vous serez inscrit et que votre session aura commencé, vous aurez accès à toutes les vidéos et autres ressources, y compris les lectures et le forum de discussion du cours. Vous pourrez consulter et soumettre des évaluations pratiques, et effectuer les devoirs notés requis pour obtenir une note et un certificat de cours.
Plus de questions
Aide financière disponible,



