Object Oriented Programming - C++
Multiple Inheritance - C++
- Multiple Inheritance is achieved by creating a new or a derived
class from more than one exisiting classes.
- The format for multiple inheritance follows the following
pattern:
class Derived: access_specifier Base1, access_specifier
Base2, ….
{
// Code for the derived class
};
- Let Base be a base class, and
- Let Derived_1, and Derived_2, be derived classes of Base.
- Let NewlyDerived be derived from both Derived_1, and
Derived_2.
- Closer analysis of the above indicates that the class
NewlyDerived has two copies of Base.
- When a class is derived from more than one base classes,
ambiguities can arise when accessing:
- Data members, or
- Member functions
Virtual base Classes
- To avoid any possibly ambiguity, declare Derived_1, and
Derived_2 virtual base classes.
The format for the class derivation follows the following pattern:
(i)
class Derived_1: virtual access_specifier Base
{
// Code for the derived class
};
(ii)
class Derived_2: virtual access_specifier Base
{
// Code for the derived class
};
(iii)
class NewlyDerived: access_specifier Derived_1,
access_specifier Derived_2….
{
// Code for the derived class
};
- Demonstrations Programs
- Multiple Inheritance: Introduction
- Multiple Inheritance: Ambiguities
Arising from Several Classes
- Multiple Inheritance: Resolving
Ambiguities Caused by Several Classes
- Multiple Inheritance: Ambiguities
Arising from Several Copies of A Base Class
- Multiple Inheritance: Resolving
Ambiguities Caused by Several Copies of A Base Class
- Go To Polymorphism
- Go Back to the Schedule