MCAWALA

C++ Vertical Menu

C++ Programming Topics

Polymorphism in C++

Polymorphism क्या होता है?

Polymorphism का मतलब होता है – "एक नाम, कई रूप"। यह OOPs का एक महत्वपूर्ण स्तंभ है जिसमें एक ही function या operator अलग-अलग तरीकों से behave कर सकता है।

Types of Polymorphism

  1. Compile Time Polymorphism (Function Overloading)
  2. Run Time Polymorphism (Function Overriding)

1. Function Overloading (Compile Time Polymorphism)

जब एक ही नाम के functions अलग-अलग parameters के साथ होते हैं, तो उसे Function Overloading कहते हैं।

उदाहरण:


#include <iostream>
using namespace std;

class Math {
public:
    int add(int a, int b) {
        return a + b;
    }

    float add(float a, float b) {
        return a + b;
    }

    int add(int a, int b, int c) {
        return a + b + c;
    }
};

int main() {
    Math m;
    cout << "add(2, 3) = " << m.add(2, 3) << endl;
    cout << "add(2.5, 3.5) = " << m.add(2.5f, 3.5f) << endl;
    cout << "add(1, 2, 3) = " << m.add(1, 2, 3);
    return 0;
}
        

2. Function Overriding (Run Time Polymorphism)

जब derived class base class के function को redefine करती है, तो उसे Function Overriding कहते हैं।

उदाहरण:


#include <iostream>
using namespace std;

class Animal {
public:
    virtual void speak() {
        cout << "Animal speaks" << endl;
    }
};

class Dog : public Animal {
public:
    void speak() override {
        cout << "Dog barks" << endl;
    }
};

int main() {
    Animal* a;
    Dog d;
    a = &d;
    a->speak();  // Run time पर तय होगा कौनसी speak() चलेगी
    return 0;
}
        

Polymorphism के लाभ:

  • Code readable और maintainable बनता है
  • एक ही function नाम का reuse होता है
  • Complex problems को आसान बनाता है

निष्कर्ष

Polymorphism C++ की एक बहुत ही जरूरी विशेषता है। यह प्रोग्रामिंग को सरल और शक्तिशाली बनाता है। अगर आप OOPs सीख रहे हैं, तो इसे अच्छे से समझना जरूरी है।