यहां हम कुछ C++ उदाहरण देखेंगे और यह जानने की कोशिश करेंगे कि किस प्रकार का आउटपुट उत्पन्न होगा। तब हम स्कोप रिजॉल्यूशन ऑपरेटर के उद्देश्य और कार्यों और C++ में 'यह' पॉइंटर को समझ सकते हैं।
यदि कुछ कोड में कुछ सदस्य 'x' कहते हैं, और हम एक अन्य फ़ंक्शन का उपयोग करना चाहते हैं जो समान नाम 'x' के साथ एक तर्क लेता है, तो उस फ़ंक्शन में, यदि हम 'x' का उपयोग करते हैं, तो यह सदस्य चर को छिपा देगा, और स्थानीय चर का उपयोग किया जाएगा। आइए इसे एक कोड में जांचें।
उदाहरण
#include <iostream> using namespace std; class MyClass { private: int x; public: MyClass(int y) { x = y; } void myFunction(int x) { cout << "Value of x is: " << x; } }; main() { MyClass ob1(10); ob1.myFunction(40); }
आउटपुट
Value of x is: 40
कक्षा के x सदस्य तक पहुँचने के लिए, हमें 'इस' सूचक का उपयोग करना होगा। 'यह' एक विशेष प्रकार का सूचक है जो वर्तमान वस्तु की ओर इशारा करता है। आइए देखें कि कैसे 'यह' सूचक इस कार्य को करने में मदद करता है।
उदाहरण
#include <iostream> using namespace std; class MyClass { private: int x; public: MyClass(int y) { x = y; } void myFunction(int x) { cout << "Value of x is: " << this->x; } }; main() { MyClass ob1(10); ob1.myFunction(40); }
आउटपुट
Value of x is: 10
C++ में एक और ऑपरेटर होता है जिसे स्कोप रेजोल्यूशन ऑपरेटर कहा जाता है। उस ऑपरेटर का उपयोग मूल वर्ग के सदस्य या कुछ स्थिर सदस्यों तक पहुँचने के लिए किया जाता है। अगर हम इसके लिए स्कोप रेजोल्यूशन ऑपरेटर का इस्तेमाल करते हैं तो यह काम नहीं करेगा। इसी तरह, अगर हम स्थिर सदस्य के लिए 'इस' सूचक का उपयोग करते हैं, तो यह कुछ समस्याएं पैदा करेगा।
उदाहरण
#include <iostream> using namespace std; class MyClass { static int x; public: void myFunction(int x) { cout << "Value of x is: " << MyClass::x; } }; int MyClass::x = 50; main() { MyClass ob1; ob1.myFunction(40); }
आउटपुट
Value of x is: 50