C ++ फ़ंक्शन ओवरलोडिंग (उदाहरणों के साथ)

इस ट्यूटोरियल में, हम उदाहरणों के साथ C ++ में फ़ंक्शन ओवरलोडिंग के बारे में सीखेंगे।

C ++ में, दो फ़ंक्शन एक ही नाम हो सकते हैं यदि संख्या और / या पारित किए गए प्रकार भिन्न हैं।

इन कार्यों में एक ही नाम है लेकिन विभिन्न तर्कों को अतिभारित कार्यों के रूप में जाना जाता है। उदाहरण के लिए:

 // same name different arguments int test() ( ) int test(int a) ( ) float test(double a) ( ) int test(int a, double b) ( )

यहां, सभी 4 फ़ंक्शन ओवरलोड किए गए फ़ंक्शन हैं।

ध्यान दें कि इन सभी 4 कार्यों के रिटर्न प्रकार समान नहीं हैं। ओवरलोड किए गए कार्यों में अलग-अलग रिटर्न प्रकार हो सकते हैं या नहीं हो सकते हैं लेकिन उनके पास अलग-अलग तर्क होने चाहिए। उदाहरण के लिए,

 // Error code int test(int a) ( ) double test(int b)( )

यहां, दोनों फ़ंक्शन का एक ही नाम, एक ही प्रकार, और समान संख्या में तर्क हैं। इसलिए, कंपाइलर एक त्रुटि फेंक देगा।

विभिन्न प्रकार के पैरामीटर का उपयोग करके ओवरलोडिंग

 // Program to compute absolute value // Works for both int and float #include using namespace std; // function with float type parameter float absolute(float var)( if (var < 0.0) var = -var; return var; ) // function with int type parameter int absolute(int var) ( if (var < 0) var = -var; return var; ) int main() ( // call function with int type parameter cout << "Absolute value of -5 = " << absolute(-5) << endl; // call function with float type parameter cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl; return 0; )

आउटपुट

 -5 = 5 का निरपेक्ष मान 5.5 = 5.5 का निरपेक्ष मान
पूर्ण () फ़ंक्शन के लिए ओवरलोडिंग का कार्य

इस कार्यक्रम में, हम absolute()फ़ंक्शन को ओवरलोड करते हैं। फ़ंक्शन कॉल के दौरान पारित पैरामीटर के प्रकार के आधार पर, संबंधित फ़ंक्शन को कहा जाता है।

पैरामीटर की विभिन्न संख्या का उपयोग करके ओवरलोडिंग

 #include using namespace std; // function with 2 parameters void display(int var1, double var2) ( cout << "Integer number: " << var1; cout << " and double number: " << var2 << endl; ) // function with double type single parameter void display(double var) ( cout << "Double number: " << var << endl; ) // function with int type single parameter void display(int var) ( cout << "Integer number: " << var << endl; ) int main() ( int a = 5; double b = 5.5; // call function with int type parameter display(a); // call function with double type parameter display(b); // call function with 2 parameters display(a, b); return 0; )

आउटपुट

 पूर्णांक संख्या: 5 फ्लोट संख्या: 5.5 पूर्णांक संख्या: 5 और दोहरी संख्या: 5.5

यहाँ, display()फ़ंक्शन को विभिन्न तर्कों के साथ तीन बार कहा जाता है। पारित किए गए तर्कों की संख्या और प्रकार के आधार पर, संबंधित display()फ़ंक्शन को कहा जाता है।

प्रदर्शन () फ़ंक्शन के लिए ओवरलोडिंग का कार्य

इन सभी कार्यों का रिटर्न प्रकार एक ही है, लेकिन फ़ंक्शन ओवरलोडिंग के लिए ऐसा नहीं होना चाहिए।

नोट: C ++ में, कई मानक लाइब्रेरी फ़ंक्शंस ओवरलोडेड हैं। उदाहरण के लिए, sqrt()समारोह ले जा सकते हैं double, float, int,पैरामीटर के रूप में आदि। यह संभव है क्योंकि sqrt()फ़ंक्शन C ++ में अतिभारित है।

दिलचस्प लेख...