KnowledgeCity

C++ avancé

Dans ce cours, vous apprendrez des sujets avancés en C ++. Vous comprendrez les principes d’une bonne conception de classe et comment les appliquer à l’écriture de vos propres programmes et comment utiliser l’héritage pour représenter des objets de la vie réelle sans avoir de code en double.
Regardez la première leçon gratuitement — accédez aux 51 leçons complètes.

To view this video please enable JavaScript.

Cours : À la demande
Avancé  Fournisseur Mikhail Veygman  8 Chapitres ·  51 Leçons ·  3h 27m  en Arabe, Allemand, Anglais, Espagnol, Français, Portugais, Chinois simplifié 

Ce que vous allez apprendre

  • Appliquer les principes d'une bonne conception de classe (class design) à vos propres programmes C++
  • Utiliser l'héritage simple, multiple, privé, protégé et hiérarchique tout en évitant les pièges courants
  • Implémenter le polymorphisme statique et dynamique en utilisant des modèles (templates), des fonctions virtuelles et la liaison dynamique (dynamic binding)
  • Utiliser la sémantique de déplacement (move semantics) du C++11 dans votre code
  • Écrire des fonctions lambda et appliquer les concepts de la programmation fonctionnelle, y compris les règles de capture et les signatures de retour
  • Travailler avec les conteneurs de la STL

Points clés à retenir

  • Le cours aborde les bonnes pratiques de conception de classes et la manière d'appliquer ces principes lors de la rédaction de vos propres programmes.
  • L'héritage est présenté avec ses avantages et ses inconvénients, ainsi que des alternatives telles que la composition de classes pour concevoir la structure des classes.
  • L'héritage multiple est abordé ainsi que ses problèmes potentiels, notamment les ambiguïtés et leur résolution à l'aide de classes de base virtuelles.
  • Le polymorphisme statique et le polymorphisme dynamique sont tous deux abordés, en utilisant des modèles (templates) et des fonctions virtuelles, ainsi que des concepts tels que la liaison dynamique (dynamic binding), les VTables et les fonctions virtuelles pures.
  • Le cours introduit la sémantique de déplacement (move semantics) du C++11, la programmation fonctionnelle avec les expressions lambdas, et les conteneurs de la STL.

Foire aux questions

Que couvre le cours avancé sur C++ ?

Il couvre des sujets avancés sur C++, notamment la conception appropriée des classes, l'héritage (simple, multiple, privé et protégé), le polymorphisme statique et dynamique, la sémantique de déplacement (move semantics) de C++11, la programmation fonctionnelle avec des lambdas, et les conteneurs STL.

Comment le cours traite-il l'héritage multiple ?

Il présente l'héritage multiple et aborde ses problèmes potentiels, notamment les ambiguïtés dans l'héritage multiple et leur résolution à l'aide de classes de base virtuelles.

Qu'est-ce que je vais apprendre sur le polymorphisme ?

Vous serez initié au polymorphisme tant statique que dynamique, en apprenant à utiliser les templates (modèles) et les fonctions virtuelles, ainsi que la liaison dynamique (dynamic binding), les VTables, les destructeurs de classes virtuels et polymorphes, et les fonctions virtuelles pures (pure virtual functions) ainsi que les classes d'interface.

Le cours aborde-t-il des fonctionnalités modernes du C++ telles que les lambdas et la sémantique de mouvement (move semantics) ?

Oui. Il propose une introduction aux concepts de la programmation fonctionnelle et à l'utilisation des fonctions lambda, y compris les règles de capture ainsi que la signature et le retour, et fournit un aperçu de la sémantique de mouvement (move semantics) introduite en C++11.

Quelles compétences sont associées à ce cours ?

Les compétences associées comprennent le langage de programmation C++, les principes fondamentaux du C++ et les concepts du C++.