फंक्शन ओवरलोडिंग और C ++ में ओवरराइडिंग को कैसे लागू करें?



यह लेख आपको फंक्शन ओवरलोडिंग और सी ++ में ओवरराइडिंग से परिचित कराएगा जो कि ओओपीएस की बहुत महत्वपूर्ण अवधारणाओं में से दो हैं।

C ++ एक है प्रकृति में और यह विभिन्न विशेषताओं को समेटे हुए है। इस सत्र में हम चर्चा करेंगे कि C ++ में फंक्शन ओवरलोडिंग और फंक्शन ओवरराइडिंग को कैसे लागू किया जाए।

इस आलेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,





फंक्शन ओवरलोडिंग और C ++ में ओवरराइडिंग पर इस लेख के साथ आगे बढ़ना

ओवरलोडिंग



समान नाम वाले कार्य लेकिन C ++ में विभिन्न मापदंडों की अनुमति है और इसे कहा जाता है ओवरलोडिंग इसे संकलन-समय का बहुरूपता भी कहा जाता है।

उदाहरण के लिए:

योग (इंट ए, फ्लोट बी) योग (इंट ए, इंट बी) योग (इंट ए, इंट बी, इंट सी)

यहां, एक ही नाम के साथ तीन कार्य हैं, लेकिन केवल एक चीज जो उन्हें अलग करती है वह यह है कि पैरामीटर प्रत्येक पर अलग-अलग हैं। तो, पारित मापदंडों के आधार पर, एक फ़ंक्शन कहा जाता है।



यदि फ़ंक्शंस के रिटर्न प्रकार भिन्न हैं, तो इसे अमान्य माना जाता है।

फंक्शन ओवरलोडिंग और C ++ में ओवरराइडिंग पर इस लेख के साथ आगे बढ़ना

नमूना कोड लोड हो रहा है पर समारोह के लिए

नाम स्थान std वर्ग जोड़ का उपयोग करना शामिल करें {public: int add (int n1, int n2) {वापसी n1 + n2} int add (int n1, int n2, int n3) {वापसी n1 + n2}} मुख्य (शून्य) {जोड़ एक cout< 

आउटपुट

आउटपुट- फंक्शन ओवरलोडिंग और ओवरराइडिंग C ++ - Edureka में

स्पष्टीकरण

उपरोक्त कार्यक्रम में, हमारे पास अतिरिक्त कक्षा में दो कार्य हैं। दोनों ने नाम जोड़ा एक में 2 पैरामीटर हैं और दूसरे में 3 पैरामीटर हैं।

मुख्य कार्य में, हम वर्ग जोड़ की एक वस्तु बनाते हैं जिसे a कहा जाता है। हम क्रमशः 2 और 3 मापदंडों के साथ ऐड फ़ंक्शंस को कॉल करते हैं और फ़ंक्शंस ऐड को बुलाया जाता है और वे जोड़ते हैं।

की शक्ति के लिए जावा

इस तरह से फ़ंक्शन ओवरलोडिंग होता है।

फंक्शन ओवरलोडिंग और C ++ में ओवरराइडिंग पर इस लेख के साथ आगे बढ़ना

ओवरराइडिंग

जब एक व्युत्पन्न वर्ग का आधार वर्ग के एक फ़ंक्शन के समान नाम के साथ एक फ़ंक्शन होता है, तो इसे कहा जाता है ओवरराइडिंग। दोनों कार्यों में दोनों वर्गों में समान पैरामीटर होने चाहिए।

फंक्शन ओवरराइडिंग के लिए नमूना कोड

# नामस्थान std वर्ग का उपयोग करके हटाएं {सार्वजनिक: शून्य विवाद () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

आउटपुट:

स्पष्टीकरण:

उपरोक्त कार्यक्रम में, हम बेसिक फ़ंक्शन दिखाते हैं, व्युत्पन्न और बेस क्लास में समान नाम के साथ। यहाँ ऑब्जेक्ट व्युत्पन्न वर्ग से बना है, इसलिए जब हम डिस्प्ले को केवल चाइल्ड क्लास ऑब्जेक्ट कहते हैं।

फंक्शन ओवरलोडिंग और C ++ में ओवरराइडिंग पर इस लेख के साथ आगे बढ़ना

ओवरराइडिंग करने का आदेश

कोड पर विचार करें:

# नामस्थान std वर्ग का उपयोग करके हटाएं {सार्वजनिक: शून्य विवाद () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

आउटपुट:

स्पष्टीकरण:

उपरोक्त कार्यक्रम में, हम बेसिक फंक्शन दिखाते हैं, जिसका नाम व्युत्पन्न और बेस क्लास में समान नाम है। यहां, पिछले कार्यक्रम से एकमात्र अंतर यह है कि। हम बच्चे वर्ग का उद्देश्य बनाते हैं। चाइल्ड क्लास ऑब्जेक्ट को बेस क्लास का संदर्भ दिया जाता है। यह दूसरी विधि का उपयोग करके भी किया जा सकता है,

वाक्य - विन्यास

Parent_class_name :: फ़ंक्शन ()

उपरोक्त उदाहरण में, हम इसका उपयोग करते हैं,

BaseClass :: disp ()

यह ओवरराइडिंग का एक और तरीका है।

फंक्शन ओवरलोडिंग VS फंक्शन ओवरराइडिंग

कार्य अधिभार समारोह ओवरराइड
दायरा वही हैदायरा अलग है
हस्ताक्षर अलग-अलग होने चाहिए (उदा: पैरामीटर)हस्ताक्षर समान होने चाहिए
ओवरलोडिंग कार्यों की संख्या संभव हैकेवल एक ओवरराइडिंग फ़ंक्शन संभव है
विरासत के बिना हो सकता हैयह मुख्य रूप से वंशानुक्रम के कारण होता है

इस प्रकार हम इस लेख के अंत में 'फंक्शन ओवरलोडिंग और C ++' में ओवरराइडिंग पर आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी है। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।