Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में प्रॉक्सी क्लास क्या है

यहां हम देखेंगे कि C++ में प्रॉक्सी क्लास क्या है। प्रॉक्सी क्लास मूल रूप से प्रॉक्सी डिज़ाइन पैटर्न है। इस पैटर्न में एक ऑब्जेक्ट दूसरी क्लास के लिए संशोधित इंटरफेस प्रदान करता है। आइए एक उदाहरण देखते हैं।

इस उदाहरण में, हम एक ऐरे क्लास बनाना चाहते हैं, जो केवल बाइनरी मान [0, 1] स्टोर कर सके। यह पहली कोशिश है।

उदाहरण कोड

class BinArray {
    int arr[10];
    int& operator[](int i) {
        // यहां कुछ कोड डालें
    }
};

इस कोड में कोई कंडीशन चेकिंग नहीं है। लेकिन हम चाहते हैं कि ऑपरेटर[] शिकायत करे यदि हम arr[1] = 98 जैसा कुछ डालते हैं। लेकिन यह संभव नहीं है, क्योंकि यह इंडेक्स की जांच कर रहा है न कि मान की। अब हम प्रॉक्सी पैटर्न का उपयोग करके इसे हल करने की कोशिश करेंगे।

उदाहरण कोड

#include <iostream>
using namespace std;

class ProxyPat {
private:
    int* my_ptr;
public:
    ProxyPat(int& r) : my_ptr(&r) { }
    void operator=(int n) {
        if (n > 1) {
            throw "This is not a binary digit";
        }
        *my_ptr = n;
    }
};

class BinaryArray {
private:
    int binArray[10];
public:
    ProxyPat operator[](int i) {
        return ProxyPat(binArray[i]);
    }
    int item_at_pos(int i) {
        return binArray[i];
    }
};

int main() {
    BinaryArray a;
    try {
        a[0] = 1; // कोई अपवाद नहीं
        cout << a.item_at_pos(0) << endl;
    }
    catch (const char* e) {
        cout << e << endl;
    }
    try {
        a[1] = 98; // अपवाद फेंकता है
        cout << a.item_at_pos(1) << endl;
    }
    catch (const char* e) {
        cout << e << endl;
    }
    return 0;
}

आउटपुट

1
This is not a binary digit
  1. - C# में Inheritance (इनहेरिटेंस) क्या है?

    C# में इनहेरिटेंस (विरासत) इनहेरिटेंस एक मैकेनिज्म है जहां एक **डेराइव्ड क्लास** (चाइल्ड) **बेस क्लास** (पैरेंट) के मेंबर्स (फील्ड्स, मेथड्स, प्रॉपर्टीज) प्राप्त करती है। यह कोड पुन: उपयोग, एक्सटेंसिबिलिटी और पॉलीमॉर्फिज्म को सक्षम करता है। मुख्य अवधारणाएं सिंगल इनहेरिटेंस: एक क्लास केवल **एक** बे

  1. - C# में ऐरे क्लास क्या है

    Array क्लास C# में सभी ऐरे का बेस क्लास है। यह System नेमस्पेस में परिभाषित है। Array क्लास ऐरे के साथ काम करने के लिए विभिन्न प्रॉपर्टीज़ और मेथड्स प्रदान करती है। Array क्लास की प्रॉपर्टीज़ निम्नलिखित हैं - नीचे दी गई टेबल Array क्लास की सबसे अधिक उपयोग की जाने वाली प्रॉपर्टीज़ का वर्णन करती है।

  1. - प्रॉक्सी सर्वर क्या है?

    हर दिन, लोग इंटरनेट पर सर्फिंग करते समय अपनी गोपनीयता बढ़ाने के लिए प्रॉक्सी सर्वर का उपयोग करते हैं। लेकिन प्रॉक्सी सर्वर क्या है, और लोग इसे अपने वेब ब्राउज़िंग के साथ कैसे उपयोग करते हैं? आइए देखें कि प्रॉक्सी सर्वर क्या हैं, लोग इनका उपयोग क्यों करते हैं, और आप इन्हें स्वयं कैसे उपयोग कर सकते है