Course Description
This module is all about class design and inheritance. We will introduce the concepts of good class design. We will show the way to use inheritance to describe real world objects. It will also describe different types of inheritance and how to use them but will also introduce a concept of composition that can be used to describe components of the real-life object.
Learning Objectives
- Learn principles of good class design
- Learn about inheritance
- Learn about class composition
Skills You Will Learn
- C++ Fundamentals
- C++ Concepts
- C++ Modules
- Dev-C++
- Embedded C++
- Multibinding
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.









