पॉलीमॉर्फिज्म ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की एक प्रमुख विशेषता है जिसका अर्थ है कई रूप होना। यह C++ में कंपाइल-टाइम पॉलीमॉर्फिज्म और रनटाइम पॉलीमॉर्फिज्म में विभाजित है।
कंपाइल-टाइम पॉलीमॉर्फिज्म का एक उदाहरण फंक्शन ओवरलोडिंग या ऑपरेटर ओवरलोडिंग है। रनटाइम पॉलीमॉर्फिज्म का एक उदाहरण फंक्शन ओवरराइडिंग है।
C++ में फंक्शन ओवरलोडिंग का उपयोग करके पॉलीमॉर्फिज्म का एक उदाहरण निम्नलिखित है।
उदाहरण
#include <iostream> using namespace std; class Example { public : void func(int a) { cout << "\na का मान: " << a; } void func(int a, int b) { cout << "\na का मान: " << a; cout << "\nb का मान: " << b; } void func(char c) { cout << "\nc का मान: " << c; } }; int main() { Example obj; cout<< "\nएक int मान"; obj.func(5); cout<< "\nएक char मान"; obj.func('A'); cout<< "\nदो int मान"; obj.func(7, 2); return 0; } आउटपुट
उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।
एक int मान a का मान: 5 एक char मान c का मान: A दो int मान a का मान: 7 b का मान: 2
अब, आइए उपरोक्त प्रोग्राम को समझते हैं।
क्लास Example में मेंबर फंक्शन func() ओवरलोडेड है। अलग-अलग पैरामीटर्स वाले 3 func() फंक्शन्स हैं जिन्हें आवश्यकतानुसार चुना जा सकता है। इसके लिए कोड स्निपेट निम्नलिखित है।
class Example { public : void func(int a) { cout << "\na का मान: " << a; } void func(int a, int b) { cout << "\na का मान: " << a; cout << "\nb का मान: " << b; } void func(char c) { cout << "\nc का मान: " << c; } }; main() फंक्शन में, Example क्लास का एक ऑब्जेक्ट obj बनाया जाता है। फंक्शन ओवरलोडिंग को प्रदर्शित करने के लिए func() को अलग-अलग आर्गुमेंट्स के साथ कॉल किया जाता है। इसके लिए कोड स्निपेट निम्नलिखित है।
int main() { Example obj; cout<< "\nएक int मान"; obj.func(5); cout<< "\nएक char मान"; obj.func('A'); cout<< "\nदो int मान"; obj.func(7, 2); return 0; }