KnowledgeCity

Advanced Polymorphism in C++

This module is all about polymorphism: what is static polymorphism, what is dynamic polymorphism, what is dynamic binding, and how these concepts are implemented in C++.
Preview the first lesson free — get full access to all 7 lessons.

To view this video please enable JavaScript.

Course: On-Demand
Advanced  Provider Mikhail Veygman  7 Lessons ·  17m  in Arabic, German, English, Spanish, French, Portuguese, Chinese Simplified 

What You'll Learn

  • Apply principles of good class design in C++
  • Use inheritance to describe real-world objects and work with different types of inheritance
  • Use class composition to describe components of real-life objects
  • Distinguish between static and dynamic polymorphism and apply dynamic binding
  • Declare and invoke virtual functions and understand the VTable and polymorphic class destructors
  • Implement pure virtual functions and interface classes

Key Takeaways

  • This module covers class design and inheritance, including the principles of good class design.
  • Inheritance can be used to describe real-world objects, and the module explains its different types and how to use them.
  • Composition is introduced as a way to describe the components of a real-life object.
  • The course covers polymorphism in both static and dynamic forms, including polymorphism achieved through dynamic binding.
  • Virtual functions, the VTable, polymorphic class destructors, and pure virtual functions with interface classes are part of the material.

Frequently Asked Questions

What does this C++ module cover?

The module is about class design and inheritance. It introduces the concepts of good class design, shows how to use inheritance to describe real-world objects, describes different types of inheritance and how to use them, and introduces composition for describing components of a real-life object.

What topics are taught in the lessons?

The lessons cover polymorphism (static and dynamic), dynamic binding, polymorphism using dynamic binding, virtual functions (declaration and invocation), the VTable, virtual/polymorphic class destructors, and pure virtual functions with interface classes.

What are the learning objectives of this module?

The stated learning objectives are to learn the principles of good class design, to learn about inheritance, and to learn about class composition.

What skills does this course relate to?

It relates to C++ Fundamentals, C++ Concepts, C++ Modules, Dev-C++, Embedded C++, and Multibinding.