Inheritance & Polymorphism
Types of Inheritance
Single, Multiple, Multilevel...
💡 Inheritance ke alag structures family trees jaise hain — single inheritance ek seedhi line hai (dada→papa→beta), multilevel wahi lekin ek generation aur aage, multiple ek bachcha do parents se features leta hai (biologically impossible, lekin C++ mein possible!), hierarchical ek parent ke multiple bachche.
C++ 5 types ki inheritance support karta hai: Single (ek base, ek derived), Multilevel (A→B→C chain), Multiple (ek derived, do ya zyada base classes — C++ ki unique feature, Java isse support nahi karta), Hierarchical (ek base, multiple derived), aur Hybrid (in sabka combination).
class Animal { public: void eat() { cout << "Eating\n"; } };
// Single:
class Dog : public Animal { };
// Multilevel:
class Puppy : public Dog { };
// Hierarchical (Animal se multiple derived):
class Cat : public Animal { };
class Bird : public Animal { };
// Multiple (do base classes se inherit):
class FlyingFish : public Animal, public Bird { };🌳
Inheritance ke alag structures family trees jaise hain — single inheritance ek seedhi line hai (dada→papa→beta), multilevel wahi lekin ek generation aur aage, multiple ek bachcha do parents se features leta hai (biologically impossible, lekin C++ mein possible!), hierarchical ek parent ke multiple bachche.
1 / 2
⚡ Quick Recap
- Single, Multilevel, Multiple, Hierarchical, Hybrid
- C++ multiple inheritance support karta hai — Java nahi karta
- Multilevel = chain (A→B→C), Hierarchical = ek se multiple
On this page (1 subtopics)
Hybrid inheritance multiple types ka combination hai — jaise hierarchical + multiple ek saath. Real-world example: ek "SmartWatch" class jo "Watch" (hierarchical, Clock ka ek type) aur "FitnessTracker" (multiple, alag base) dono se features leti hai.
class Device { public: void powerOn() {} };
class Watch : public Device { };
class FitnessTracker : public Device { };
class SmartWatch : public Watch, public FitnessTracker { };
// SmartWatch, Watch AND FitnessTracker dono se features leta hai — hybridTip: Hybrid inheritance mein bhi diamond problem aa sakta hai agar common ancestor (Device) virtual inherit na kiya jaaye.