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

C++ में प्राइवेट, पब्लिक और प्रोटेक्टेड इनहेरिटेंस में अंतर

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

सदस्यों और क्लास के लिए डिफ़ॉल्ट एक्सेस प्राइवेट है।

उदाहरण कोड

class Base {
public:
    // पब्लिक सदस्य यहां जाते हैं
protected:
    // प्रोटेक्टेड सदस्य यहां जाते हैं
private:
    // प्राइवेट सदस्य यहां जाते हैं
};

एक पब्लिक सदस्य प्रोग्राम के भीतर क्लास के बाहर कहीं से भी एक्सेसिबल होता है। आप किसी भी सदस्य फ़ंक्शन के बिना पब्लिक वेरिएबल के मान को सेट और प्राप्त कर सकते हैं।

एक प्राइवेट सदस्य वेरिएबल या फंक्शन को क्लास के बाहर से एक्सेस नहीं किया जा सकता, या यहां तक कि देखा भी नहीं जा सकता। केवल क्लास और फ्रेंड फंक्शन प्राइवेट सदस्यों को एक्सेस कर सकते हैं।

एक प्रोटेक्टेड सदस्य वेरिएबल या फंक्शन प्राइवेट सदस्य के समान होता है लेकिन यह एक अतिरिक्त लाभ प्रदान करता है कि वे चाइल्ड क्लास में एक्सेस किए जा सकते हैं जिन्हें डेराइव्ड क्लास कहा जाता है।

  1. - C++ में डॉट (.) ऑपरेटर और -> में क्या अंतर है?

    डॉट और एरो ऑपरेटर दोनों का उपयोग C++ में क्लास के मेंबर्स को एक्सेस करने के लिए किया जाता है। वे केवल अलग-अलग परिदृश्यों में उपयोग किए जाते हैं। C++ में, क्लास, स्ट्रक्चर, या यूनियन के रूप में घोषित प्रकारों को क्लास टाइप का माना जाता है। इसलिए निम्नलिखित उन सभी तीनों को संदर्भित करता है। a.b केवल

  1. - C# में क्लास और स्ट्रक्चर में अंतर

    क्लास और स्ट्रक्चर के बीच अंतर करने के लिए, हमें पहले यह समझना होगा कि डेटा को धारण करने और परिभाषित करने के संदर्भ में दोनों स्ट्रक्चर और क्लास समतुल्य प्रतीत होते हैं। ये दोनों अपने डेटा सदस्यों में कुछ डिफ़ॉल्ट मानों को परिभाषित और धारण कर सकते हैं। लेकिन यदि हम इसे इस संदर्भ से परे मानते हैं तो

  1. - Java में इनहेरिटेंस और कंपोजिशन के बीच अंतर

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