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 << "a का मान: " << a; cout << "\nb का मान: " << b; } }; int main() { Derived obj; obj.func(); return 0; } आउटपुट
उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।
a का मान: 8 b का मान: 10
अब, आइए उपरोक्त प्रोग्राम को समझते हैं।
क्लास Base में, डेटा मेंबर्स a, b और c हैं जो क्रमशः पब्लिक, प्रोटेक्टेड और प्राइवेट हैं। इसके लिए कोड स्निपेट निम्नलिखित है।
class Base { public : int a = 8; protected : int b = 10; private : int c = 20; }; क्लास Derived क्लास Base को इनहेरिट करती है। फंक्शन func() a और b के मान प्रिंट करता है। यह c का मान प्रिंट नहीं कर सकता क्योंकि वह क्लास Base के लिए प्राइवेट है और क्लास Derived में एक्सेस नहीं किया जा सकता। इसके लिए कोड स्निपेट निम्नलिखित है।
class Derived : public Base { public : void func() { cout << "a का मान: " << a; cout << "\nb का मान: " << b; } }; main() फंक्शन में, Derived क्लास का ऑब्जेक्ट obj बनाया जाता है। फिर func() फंक्शन कॉल किया जाता है। इसके लिए कोड स्निपेट निम्नलिखित है।
int main() { Derived obj; obj.func(); return 0; }