सी ++ ओवरलोड तुलना ऑपरेटर में

Si Ovaraloda Tulana Oparetara Mem



ऑपरेटर ओवरलोडिंग सी ++ में एक महत्वपूर्ण अवधारणा है जो आपको उपयोगकर्ता परिभाषित डेटा प्रकारों के साथ काम करते समय अंतर्निहित ऑपरेटरों की कार्यक्षमता प्राप्त करने देती है। C++ में तुलना ऑपरेटर वे होते हैं जो एक दूसरे के साथ दो मानों की तुलना करने के लिए होते हैं जैसे “==”, “!=”, “>”, “<”, “>=”, और “<=”। यह आलेख उबंटू 20.04 में सी ++ में इन सभी छह तुलना ऑपरेटरों को ओवरलोड करने के तरीकों को साझा करेगा।

उदाहरण # 1: C++ में “==” ऑपरेटर को ओवरलोड करना:

C++ में “==” ऑपरेटर को ओवरलोड करने के लिए, हमने निम्न C++ वर्ग डिज़ाइन किया है:







हमारी C++ क्लास का नाम ProductPrice है। इस वर्ग के भीतर, हमारे पास एक निजी सदस्य 'मूल्य' है। उसके बाद, हमारे पास कुछ सार्वजनिक सदस्य कार्य हैं। 'उपयोगकर्ता इनपुट' नाम का पहला कार्य उपयोगकर्ता से इनपुट के रूप में उत्पाद मूल्य लेता है। फिर, हमारे पास C++ में “==” ऑपरेटर को ओवरलोड करने का कार्य है। हमने ProductPrice क्लास के एक ऑब्जेक्ट को इस फंक्शन में पास कर दिया है। इस फ़ंक्शन के भीतर, हमारे पास एक 'अगर' कथन है जो 'सही' लौटाएगा यदि दो उत्पादों की कीमतें समान हैं, अन्यथा 'गलत'।



इसका परीक्षण करने के लिए, हमारे पास नीचे दी गई छवि में दिखाया गया ड्राइवर फ़ंक्शन है:







हमारे 'मुख्य ()' फ़ंक्शन में, हमने सबसे पहले अपनी कक्षा के दो ऑब्जेक्ट बनाए हैं। फिर, हमने उपयोगकर्ता से इनपुट के रूप में दो उत्पादों की कीमतों को लेने के लिए एक-एक करके दो वस्तुओं में से प्रत्येक के साथ 'उपयोगकर्ता इनपुट' फ़ंक्शन कहा है। उसके बाद, हमारे पास एक संदेश प्रिंट करने के लिए 'अगर' कथन है यदि दो मूल्य समान हैं और दूसरा संदेश यदि नहीं है।

हमने निम्नलिखित कमांड का उपयोग करके इस प्रोग्राम को संकलित किया है:



$ जी ++ तुलनाऑपरेटर.सीपीपी -ओ तुलनाऑपरेटर

फिर, हमने इसे नीचे दिखाए गए आदेश का उपयोग करके निष्पादित किया:

$ . / तुलना ऑपरेटर

इस कोड को निष्पादित करने पर, हमें निम्नलिखित छवि में दिखाए गए अनुसार पहले उत्पाद की कीमत दर्ज करने के लिए कहा गया:

फिर, हमें दूसरे उत्पाद की कीमत दर्ज करने के लिए कहा गया, जैसा कि नीचे दी गई छवि में दिखाया गया है:

चूंकि हमने दोनों उत्पादों के लिए समान मूल्य दर्ज किए हैं, हम निम्नलिखित आउटपुट में देख सकते हैं कि हमारा '==' ऑपरेटर सफलतापूर्वक ओवरलोड हो गया है।

अब, 'और' कथन के लिए इसका परीक्षण करने के लिए, हमने दो अलग-अलग उत्पाद मूल्य दर्ज किए, जैसा कि नीचे दी गई छवि में दिखाया गया है:

उदाहरण # 2: सी ++ में '! =' ऑपरेटर को ओवरलोड करना:

C++ में “!=” ऑपरेटर को ओवरलोड करने के लिए, हमने निम्नलिखित C++ क्लास डिज़ाइन की है:

यह प्रोग्राम काफी हद तक हमारे पहले उदाहरण जैसा दिखता है। फर्क सिर्फ इतना है कि हमने हर जगह '==' ऑपरेटर को '!=' ऑपरेटर से बदल दिया है।

इसका परीक्षण करने के लिए, हमारे पास नीचे दी गई छवि में दिखाया गया ड्राइवर फ़ंक्शन है:

हमने उपयोगकर्ता से इनपुट के रूप में दो उत्पादों की कीमतों को लेने के लिए एक-एक करके दो वस्तुओं में से प्रत्येक के साथ हमारे 'मुख्य ()' फ़ंक्शन में 'उपयोगकर्ता इनपुट' फ़ंक्शन को बुलाया है। उसके बाद, हमारे पास एक संदेश प्रिंट करने के लिए 'अगर' कथन है यदि दो मूल्य समान नहीं हैं और यदि वे हैं तो दूसरा संदेश।

जब हमने इस कोड को दो अलग-अलग उत्पाद कीमतों के साथ निष्पादित किया, तो हमने पाया कि हमारे असमानता ऑपरेटर को सफलतापूर्वक ओवरलोड कर दिया गया था, जैसा कि आप निम्न छवि से देख सकते हैं:

अब, 'और' कथन के लिए इसका परीक्षण करने के लिए, हमने दो समान उत्पाद मूल्य दर्ज किए, जैसा कि नीचे दी गई छवि में दिखाया गया है:

उदाहरण # 3: C++ में “>” ऑपरेटर को ओवरलोड करना:

C++ में “>” ऑपरेटर को ओवरलोड करने के लिए, हमने निम्न C++ वर्ग डिज़ाइन किया है:

यह प्रोग्राम भी ऊपर हमारे उदाहरण के समान है। फर्क सिर्फ इतना है कि हमने हर जगह '!=' ऑपरेटर को '>' ऑपरेटर से बदल दिया है।

इसका परीक्षण करने के लिए, हमारे पास नीचे दी गई छवि में दिखाया गया ड्राइवर फ़ंक्शन है:

हमने उपयोगकर्ता से इनपुट के रूप में दो उत्पादों की कीमतों को लेने के लिए एक-एक करके दो वस्तुओं में से प्रत्येक के साथ हमारे 'मुख्य ()' फ़ंक्शन में 'उपयोगकर्ता इनपुट' फ़ंक्शन को बुलाया है। उसके बाद, हमारे पास एक संदेश प्रिंट करने के लिए 'अगर' कथन है यदि पहली कीमत दूसरे से अधिक है और दूसरा संदेश नहीं है।

जब हमने इस कोड को दो अलग-अलग उत्पाद कीमतों के साथ निष्पादित किया, तो हमने पाया कि हमारे ऑपरेटर से अधिक सफलतापूर्वक ओवरलोड हो गए थे, जैसा कि आप निम्न छवि से देख सकते हैं:

अब, 'और' कथन के लिए इसका परीक्षण करने के लिए, हमने दो समान उत्पाद मूल्य दर्ज किए, जैसा कि नीचे दी गई छवि में दिखाया गया है:

उदाहरण # 4: C++ में “<” ऑपरेटर को ओवरलोड करना:

C++ में “<” ऑपरेटर को ओवरलोड करने के लिए, हमने निम्न C++ वर्ग डिज़ाइन किया है:

यह प्रोग्राम भी ऊपर हमारे उदाहरण के समान है। फर्क सिर्फ इतना है कि हमने हर जगह '>' ऑपरेटर को '<' ऑपरेटर से बदल दिया है।

इसका परीक्षण करने के लिए, हमारे पास नीचे दी गई छवि में दिखाया गया ड्राइवर फ़ंक्शन है:

हमने उपयोगकर्ता से इनपुट के रूप में दो उत्पादों की कीमतों को लेने के लिए एक-एक करके दो वस्तुओं में से प्रत्येक के साथ हमारे 'मुख्य ()' फ़ंक्शन में 'उपयोगकर्ता इनपुट' फ़ंक्शन को बुलाया है। उसके बाद, हमारे पास एक संदेश प्रिंट करने के लिए 'अगर' कथन है यदि पहली कीमत दूसरे से कम है और दूसरा संदेश नहीं है।

जब हमने इस कोड को दो अलग-अलग उत्पाद कीमतों के साथ निष्पादित किया, तो हमने पाया कि हमारे कम से कम ऑपरेटर को सफलतापूर्वक ओवरलोड किया गया था, जैसा कि आप निम्न छवि से देख सकते हैं:

अब, 'और' कथन के लिए इसका परीक्षण करने के लिए, हमने फिर से दो अलग-अलग उत्पाद मूल्य दर्ज किए, लेकिन इस बार, पहले उत्पाद की कीमत दूसरे से अधिक है, जैसा कि नीचे दी गई छवि में दिखाया गया है:

उदाहरण # 5: C++ में “>=” ऑपरेटर को ओवरलोड करना:

C++ में “>=” ऑपरेटर को ओवरलोड करने के लिए, हमने निम्न C++ क्लास डिज़ाइन की है:

यह ऊपर दिए गए हमारे उदाहरणों से थोड़ा अलग है। इस बार ऑपरेटर को ओवरलोड करते समय, हमारे पास '||' द्वारा अलग किए गए 'if' स्टेटमेंट के भीतर दो शर्तें हैं। चिन्ह, प्रतीक। इसका अर्थ है कि यह कथन जाँच करेगा कि किसी उत्पाद की कीमत दूसरे से अधिक या उसके बराबर है या नहीं।

इसका परीक्षण करने के लिए, हमारे पास नीचे दी गई छवि में दिखाया गया ड्राइवर फ़ंक्शन है:

हमने उपयोगकर्ता से इनपुट के रूप में दो उत्पादों की कीमतों को लेने के लिए एक-एक करके दो वस्तुओं में से प्रत्येक के साथ हमारे 'मुख्य ()' फ़ंक्शन में 'उपयोगकर्ता इनपुट' फ़ंक्शन को बुलाया है। उसके बाद, हमारे पास संदेश प्रिंट करने के लिए 'अगर' कथन है यदि पहली कीमत दूसरे से अधिक या उसके बराबर है और दूसरा संदेश नहीं है।

जब हमने इस कोड को दो अलग-अलग उत्पाद कीमतों के साथ निष्पादित किया, तो हमने पाया कि ऑपरेटर से अधिक या उसके बराबर सफलतापूर्वक ओवरलोड हो गया है, जैसा कि आप निम्न छवि से देख सकते हैं:

अब, 'और' कथन के लिए इसका परीक्षण करने के लिए, हमने पहले उत्पाद की कीमत दूसरे से कम दर्ज की, जैसा कि नीचे दी गई छवि में दिखाया गया है:

उदाहरण # 6: C++ में “<=” ऑपरेटर को ओवरलोड करना:

हमारे पांचवें उदाहरण के रूप में उसी पद्धति का अनुसरण करते हुए, हमने '<=' ऑपरेटर को भी ओवरलोड किया, और इसका कोड इस प्रकार है:

विभिन्न मूल्यों के साथ इस कार्यक्रम के निष्पादन परिणाम नीचे दी गई छवियों में दिखाए गए हैं:

निष्कर्ष:

इस आलेख ने बहुत अच्छी तरह समझाया कि आप उबंटू 20.04 में सी ++ में छः तुलना ऑपरेटरों को कैसे अधिभारित कर सकते हैं। हमने ऑपरेटर ओवरलोडिंग के संक्षिप्त परिचय के साथ शुरुआत की, फिर C ++ में सभी छह तुलना ऑपरेटर ओवरलोड हो गए। हमने इन सभी तरीकों को प्रदर्शित करने के लिए एक ही यूजर-डिफ़ाइंड क्लास का इस्तेमाल किया है। एक बार जब आप इन तरीकों से गुजर जाते हैं, तो आप इन तुलना ऑपरेटरों को किसी अन्य उपयोगकर्ता-परिभाषित वर्ग के लिए अधिभारित करने में सक्षम होंगे।