🌳
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
⚡ झट से Recap
  • Single, Multilevel, Multiple, Hierarchical, Hybrid
  • C++ multiple inheritance support karta hai — Java nahi karta
  • Multilevel = chain (A→B→C), Hierarchical = ek se multiple
इस 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 — hybrid
💡Tip: Hybrid inheritance mein bhi diamond problem aa sakta hai agar common ancestor (Device) virtual inherit na kiya jaaye.