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