सी++ वॉकथ्रू

सी++ होम सी++ परिचय सी++ प्रारंभ करें सी++ सिंटेक्स सी++ आउटपुट सी++ टिप्पणियाँ सी++ चर सी ++ उपयोगकर्ता इनपुट सी++ डेटा प्रकार सी++ ऑपरेटर्स सी++ स्ट्रिंग्स सी++ गणित सी++ बूलियन सी++ शर्तें सी++ स्विच सी++ जबकि लूप सी++ लूप के लिए सी++ ब्रेक/जारी रखें सी ++ सरणी सी++ संदर्भ सी++ पॉइंटर्स

सी++ फंक्शन

सी++ फंक्शन सी++ फंक्शन पैरामीटर्स सी++ फंक्शन ओवरलोडिंग

सी++ क्लासेस

सी++ ओओपी सी++ क्लासेस/ऑब्जेक्ट्स सी++ क्लास मेथड्स सी++ कंस्ट्रक्टर्स सी++ एक्सेस स्पेसिफायर्स सी++ एनकैप्सुलेशन सी ++ वंशानुक्रम सी++ बहुरूपता सी++ फ़ाइलें सी++ अपवाद

सी++ कैसे करें

दो नंबर जोड़ें

सी++ उदाहरण

सी++ उदाहरण सी++ कंपाइलर सी++ एक्सरसाइज सी++ प्रश्नोत्तरी


सी++ एक्सेस स्पेसिफायर्स


एक्सेस स्पेसिफायर

publicअब तक, आप हमारे सभी वर्ग उदाहरणों में प्रकट होने वाले कीवर्ड से अच्छी तरह परिचित हो चुके हैं:

उदाहरण

class MyClass {  // The class
  public:        // Access specifier
    // class members goes here
};

publicकीवर्ड एक एक्सेस स्पेसिफायर है। एक्सेस स्पेसिफायर परिभाषित करते हैं कि किसी वर्ग के सदस्यों (विशेषताओं और विधियों) तक कैसे पहुँचा जा सकता है। उपरोक्त उदाहरण में, सदस्य हैं public- जिसका अर्थ है कि उन्हें कोड के बाहर से एक्सेस और संशोधित किया जा सकता है।

हालाँकि, क्या होगा यदि हम चाहते हैं कि सदस्य निजी हों और बाहरी दुनिया से छिपे हों?

C++ में, तीन एक्सेस स्पेसिफायर हैं:

  • public - सदस्यों को कक्षा के बाहर से पहुँचा जा सकता है
  • private - सदस्यों को कक्षा के बाहर से एक्सेस (या देखा) नहीं किया जा सकता है
  • protected- सदस्यों को कक्षा के बाहर से एक्सेस नहीं किया जा सकता है, हालांकि, उन्हें इनहेरिट की गई कक्षाओं में एक्सेस किया जा सकता है। आप वंशानुक्रम के बारे में बाद में और जानेंगे ।

publicनिम्नलिखित उदाहरण में, हम और privateसदस्यों के बीच अंतर प्रदर्शित करते हैं:

उदाहरण

class MyClass {
  public:    // Public access specifier
    int x;   // Public attribute
  private:   // Private access specifier
    int y;   // Private attribute
};

int main() {
  MyClass myObj;
  myObj.x = 25;  // Allowed (public)
  myObj.y = 50;  // Not allowed (private)
  return 0;
}

यदि आप किसी निजी सदस्य तक पहुँचने का प्रयास करते हैं, तो एक त्रुटि उत्पन्न होती है:

error: y is private

नोट: किसी वर्ग के निजी सदस्यों को उसी वर्ग के अंदर सार्वजनिक पद्धति का उपयोग करके एक्सेस करना संभव है। यह कैसे करना है, इस पर अगला अध्याय ( एनकैप्सुलेशन ) देखें।

युक्ति: अपनी कक्षा विशेषताओं को निजी (जितनी बार आप कर सकते हैं) घोषित करना अच्छा अभ्यास माना जाता है। इससे कोड को गड़बड़ाने के लिए स्वयं (या अन्य) की संभावना कम हो जाएगी। यह एनकैप्सुलेशन अवधारणा का मुख्य घटक भी है, जिसके बारे में आप अगले अध्याय में और जानेंगे।

नोट: डिफ़ॉल्ट रूप से, एक वर्ग के सभी सदस्य होते हैं privateयदि आप एक एक्सेस स्पेसिफायर निर्दिष्ट नहीं करते हैं:

उदाहरण

class MyClass {
  int x;   // Private attribute
  int y;   // Private attribute
};