Introduction
C++ में access specifiers (public, private, protected) का उपयोग class के data और functions की accessibility को control करने के लिए किया जाता है।
Inheritance में protected members का विशेष महत्व होता है क्योंकि ये data को secure रखते हुए derived class को access की अनुमति देते हैं।
Definition
Protected members वे data members और member functions होते हैं जिन्हें class के अंदर और उसकी derived classes के अंदर access किया जा सकता है, लेकिन outside class से directly access नहीं किया जा सकता।
Concept
protectedmembers:- Class के अंदर accessible
- Derived class में accessible
- Outside class (object के through) accessible नहीं
Example
#include <iostream>
using namespace std;
class Base {
protected:
int x;
public:
void setValue(int a) {
x = a;
}
};
class Derived : public Base {
public:
void show() {
cout << "Value: " << x;
}
};
int main() {
Derived d;
d.setValue(20);
d.show();
return 0;
}
Output
Value: 20
Explanation
xएक protected member है- इसे directly main() में access नहीं किया जा सकता
- लेकिन Derived class में
show()function के अंदर access किया गया - यही protected का main purpose है
Access Comparison
| Access Specifier | Same Class | Derived Class | Outside Class |
|---|---|---|---|
| public | Yes | Yes | Yes |
| protected | Yes | Yes | No |
| private | Yes | No | No |
Important Points
- Protected members inheritance के लिए useful होते हैं
- Data hiding maintain रहता है
- Derived classes को controlled access मिलता है
- Direct object access से data सुरक्षित रहता है
निष्कर्ष
Protected members C++ में inheritance को secure और flexible बनाते हैं। ये data को hidden रखते हुए derived classes को access की सुविधा देते हैं, जिससे program अधिक structured और safe बनता है।