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

C++ में निजी और संरक्षित सदस्य


C++ में एक वर्ग में सार्वजनिक, निजी और संरक्षित अनुभाग होते हैं जिनमें संबंधित वर्ग के सदस्य होते हैं।

निजी डेटा सदस्यों को कक्षा के बाहर से एक्सेस नहीं किया जा सकता है। उन्हें केवल क्लास या फ्रेंड फंक्शन्स द्वारा ही एक्सेस किया जा सकता है। डिफ़ॉल्ट रूप से कक्षा के सभी सदस्य निजी होते हैं।

एक वर्ग में संरक्षित सदस्य निजी सदस्यों के समान होते हैं लेकिन उन्हें व्युत्पन्न कक्षाओं या बाल वर्गों द्वारा पहुँचा जा सकता है जबकि निजी सदस्य नहीं कर सकते।

एक प्रोग्राम जो एक कक्षा में निजी और संरक्षित सदस्यों को प्रदर्शित करता है, वह इस प्रकार दिया गया है -

उदाहरण

#include <iostream>
using namespace std;
class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};
class Derived : public Base {
   public :
   void func() {
      cout << "The value of a : " << a;
      cout << "\nThe value of b : " << b;
   }
};
int main() {
   Derived obj;
   obj.func();
   return 0;
}

आउटपुट

उपरोक्त कार्यक्रम का आउटपुट इस प्रकार है।

The value of a : 8
The value of b : 10

अब, उपरोक्त कार्यक्रम को समझते हैं।

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

class Base {
   public :
   int a = 8;
   protected :
   int b = 10;
   private :
   int c = 20;
};

व्युत्पन्न वर्ग को वर्ग आधार विरासत में मिला है। फ़ंक्शन func() a और b के मानों को प्रिंट करता है। यह c के मान को प्रिंट नहीं कर सकता क्योंकि यह क्लास बेस के लिए निजी है और इसे व्युत्पन्न वर्ग में एक्सेस नहीं किया जा सकता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

class Derived : public Base {
   public :
   void func() {
      cout << "The value of a : " << a;
      cout << "\nThe value of b : " << b;
   }
};

फ़ंक्शन मुख्य () में, व्युत्पन्न वर्ग का ऑब्जेक्ट ओबीजे बनाया जाता है। फिर फ़ंक्शन func() कहा जाता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

int main() {
   Derived obj;
   obj.func();
   return 0;
}

  1. C++ में निजी, सार्वजनिक और संरक्षित संशोधक के बीच अंतर

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

  1. C++ में फ्रेंड क्लास और फंक्शन

    किसी वर्ग के मित्र कार्य को उस वर्ग के दायरे से बाहर परिभाषित किया गया है लेकिन उसे कक्षा के सभी निजी और संरक्षित सदस्यों तक पहुंचने का अधिकार है। भले ही फ्रेंड फंक्शन के प्रोटोटाइप क्लास डेफिनिशन में दिखाई देते हैं, फ्रेंड्स मेंबर फंक्शन नहीं होते हैं। एक दोस्त एक फंक्शन, फंक्शन टेम्प्लेट, या मेंब

  1. C++ में एक्सेस मॉडिफायर क्या हैं?

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