4. Defining Derived Class Class derived_class_name : visibility mode base_class_name { … // members of derived class }; Eg: Class ABC : public XYZ {…};
5. Types of Inheritance : Single Inheritance Multilevel Inheritance A B A B C Class A {….}; Class B : public A {----}; Class A {…}; Class B : public A {…}; Class C : public B {…};
6. Multiple Inheritance Hierarchical Inheritance A B C A B C D Class A {…}; Class B {…}; Class C : public A, public B {…}; Class A {…}; Class B : public A {…}; Class C : public B {…}; Class D : public C {…};
7. Hybrid Inheritance A D B C Class A {…}; Class B : public A {…}; Class C : public B {…}; Class D : public C {…};
8.
9. Virtual Base Class A B C D Here, D will have duplicate sets of members inherited from A I.e, via B and C. Duplicate ambiguity can be avoided by making the common base class as virtual class
10. Class A {-----}; Class B : virtual public A {------}; Class C : public virtual A {------}; Class D : public B, public C {------}; When a class is made virtual base class, C++ takes necessary care to see that only one copy of that class is inherited, regardless of how many inheritance paths exist between the virtual base class and a derived class.