C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर को सर्वश्रेष्ठ उपयोग कैसे करें?



यह आलेख आपको C ++ में रिज़ॉल्यूशन ऑपरेटर के दायरे में लाएगा और विस्तृत समझ के लिए प्रोग्रामेटिक प्रदर्शन का पालन करेगा।

जैसा कि नाम से पता चलता है, स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग चर स्कोप के कारण छिपे हुए नामों को प्राप्त करने के लिए किया जाता है ताकि आप अभी भी उनका उपयोग कर सकें। इस लेख में हम समझेंगे कि C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग कैसे करें और a से इसके अलग-अलग उद्देश्य क्या हैं ।

C ++ में, गुंजाइश रिज़ॉल्यूशन ऑपरेटर :: है। C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग इसके लिए किया जा सकता है:





अब उदाहरणों की सहायता से एक-एक करके प्रत्येक उद्देश्य को समझें।

जब एक स्थानीय चर होता है, तो एक वैश्विक चर पर पहुंचना एक ही नाम

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



उदाहरण

# नाम का उपयोग करके नाम स्थान std int num = 30 // एक वैश्विक वैरिएबल संख्या int int main () {int num = 10 // प्रारंभ करना<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

आउटपुट

C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर पर इस लेख के साथ आगे बढ़ना



एक वर्ग के बाहर एक समारोह परिभाषित करना

यदि आप एक कक्षा में एक समारोह की घोषणा कर रहे हैं और फिर बाद में इसे कक्षा के बाहर परिभाषित करना चाहते हैं, तो आप कर सकते हैं कि गुंजाइश रिज़ॉल्यूशन ऑपरेटर का उपयोग कर। नीचे दिए गए उदाहरण में, हम क्लास बाइक में एक फ़ंक्शन गति की घोषणा कर रहे हैं। बाद में हम गुंजाइश रिज़ॉल्यूशन ऑपरेटर का उपयोग करके मुख्य वर्ग में फ़ंक्शन को परिभाषित कर रहे हैं।

उदाहरण

# नाम स्थान std वर्ग बाइक का उपयोग करके अलग करें {public: // जस्ट फंक्शन डिक्लेरेशन शून्य स्पीड ()} // // बाइक क्लास के बाहर स्पीड फंक्शन को परिभाषित करते हुए :: void बाइक :: स्पीड () {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

आउटपुट

C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर पर इस लेख के साथ आगे बढ़ना

किसी वर्ग के स्थैतिक तक पहुँचना चर

आप वर्ग नाम और कार्यक्षेत्र रिज़ॉल्यूशन ऑपरेटर (जैसे कि class_name :: static_variable) का उपयोग करके वर्ग के स्थिर चर तक पहुंच सकते हैं। आप नीचे दिए गए उदाहरण में देख सकते हैं, हम कक्षा में एक स्थिर चर घोषित कर रहे हैं। हम गुंजाइश रिज़ॉल्यूशन ऑपरेटर का उपयोग करके वर्ग के बाहर चर को परिभाषित कर रहे हैं। तब हम इसे क्लास नाम और स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग करके एक्सेस कर रहे हैं।

उदाहरण

# नाम स्थान std वर्ग का उपयोग करके देखें {स्थिर int num1 public: static int num2 // स्थानीय पैरामीटर छुपाता है कक्षा सदस्य // कक्षा सदस्य को इसका उपयोग करके पहुँचा जा सकता है :: शून्य फ़ंक्शन (int num1) {// num1 स्थिर चर का उपयोग करके पहुँचा जा सकता है :: // स्थानीय चर संख्या 1 cout के बावजूद<< 'Static num1: ' << Try::num1 cout << 'nLocal num1: ' << num1 } } // Defining a static members explicitly using :: int Try::num1 = 10 int Try::num2 = 15 int main() { Try o int num1 = 20 o.function(num1) cout << 'nTry::num2 = ' << Try::num2 return 0 } 

आउटपुट

C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर पर इस लेख के साथ आगे बढ़ना

एक वर्ग का दूसरी कक्षा के अंदर का जिक्र

आप दोनों वर्गों में समान चर नामों के साथ नेस्टेड वर्ग बना सकते हैं। आप गुंजाइश रिज़ॉल्यूशन ऑपरेटर का उपयोग करके दोनों चर का उपयोग कर सकते हैं। आंतरिक वर्ग चर के लिए, आपको उपयोग करने की आवश्यकता है Outer_Class :: Inner_Class :: चर।

उदाहरण

जावा में उत्परिवर्तनीय और अपरिवर्तनीय वस्तुएँ
# नाम का उपयोग करते हुए नाम का वर्ग एसटीडी वर्ग के बाहर {सार्वजनिक: int संख्या वर्ग के अंदर_क्लास {जनता: इंट संख्या के स्थिर int x}} int Outside_class :: Inside_class :: x = 5 int main () 'Outside_class A Outside_class :: Inside_class B}

C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर पर इस लेख के साथ आगे बढ़ना

एकाधिक वंशानुक्रम के मामले में

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

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

उदाहरण

# नाम छोड़कर std class Parent1 {संरक्षित: int num public: Parent1 () {num = 100}} वर्ग Parent2 {संरक्षित: int num public: Parent2 () {num = 200}} वर्ग बच्चे: public Parent1, public Parent2 { सार्वजनिक: शून्य फ़ंक्शन () {cout<< 'Parent1's num is ' << Parent1::num cout << 'nParent2's num is ' << Parent2::num } } int main() { Child obj obj.function() return 0 } 

आउटपुट

C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर पर इस लेख के साथ आगे बढ़ना

नाम स्थान

मान लीजिए हमारे पास दो नामस्थान हैं और दोनों में एक ही नाम वाला वर्ग है। तो किसी भी संघर्ष से बचने के लिए हम स्कोप रिज़ॉल्यूशन ऑपरेटर के साथ नेमस्पेस नाम का उपयोग कर सकते हैं। नीचे दिए गए उदाहरण में हम उपयोग कर रहे हैं std :: cout

उदाहरण

# मुख्य अंत () {std :: cout<< 'Hello' << std::endl } 

आउटपुट

अब उपरोक्त कार्यक्रमों से गुजरने के बाद आप C ++ में स्कोप रिज़ॉल्यूशन ऑपरेटर के बारे में सब कुछ समझ गए होंगे। मुझे उम्मीद है कि यह ब्लॉग जानकारीपूर्ण है और आपके लिए मूल्य वर्धित है।

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

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