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++ Concepts
- C++ Modules
- Modularization
- Modular Programming In C
- Multiple Inheritance
- Software Modules
What You'll Learn
- Apply principles of good class design in C++
- Use inheritance to describe real-world objects
- Distinguish and apply different types of inheritance, including hierarchical and multiple inheritance
- Resolve ambiguities in multiple inheritance using virtual base classes
- Use class composition to describe components of real-life objects
Key Takeaways
- The module focuses on class design and inheritance in C++.
- Inheritance can be used to model real-world objects, and the module covers different types of inheritance and how to use them.
- Multiple inheritance can introduce ambiguities, which can be resolved using virtual base classes.
- Composition offers an alternative way to describe the components of a real-life object.
Frequently Asked Questions
What does this C++ module cover?
It covers class design and inheritance, including the principles of good class design, using inheritance to describe real-world objects, different types of inheritance and how to use them, and the concept of composition for describing components of a real-life object.
What types of inheritance does the module teach?
The lessons cover hierarchical inheritance and multiple inheritance, including ambiguities in multiple inheritance and using virtual base classes to resolve multiple inheritance ambiguity.
What skills will I gain from this module?
You will work with C++ concepts, C++ modules, modularization, modular programming, multiple inheritance, and software modules.
How is the module structured?
It includes lessons on Hierarchical Inheritance, Multiple Inheritance, Ambiguities in Multiple Inheritance, and Virtual Base Classes and Resolving Multiple Inheritance ambiguity.









