Polymorphism का मतलब होता है – "एक नाम, कई रूप"। यह OOPs का एक महत्वपूर्ण स्तंभ है जिसमें एक ही function या operator अलग-अलग तरीकों से behave कर सकता है।
जब एक ही नाम के 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;
}
जब 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 C++ की एक बहुत ही जरूरी विशेषता है। यह प्रोग्रामिंग को सरल और शक्तिशाली बनाता है। अगर आप OOPs सीख रहे हैं, तो इसे अच्छे से समझना जरूरी है।