Avatar ·

C++ में public, protected और private इनहेरिटेंस में क्या अंतर है?

नमस्ते साथियों! मैंने C++ सीखना शुरू किया और इनहेरिटेंस तक पहुँच गया, लेकिन क्लासेस के इनहेरिटेंस में एक्सेस मॉडिफायर्स को लेकर भ्रमित हूँ। किताबें थोड़ी जटिल समझाती हैं।\n\nमान लीजिए, एक बेस क्लास है जिसमें अलग-अलग फील्ड्स हैं:\n\n```cpp\nclass Base {\npublic:\n int pub = 1;\nprotected:\n int prot = 2;\nprivate:\n int priv = 3;\n};\n```\n\nC++ में `class Derived : public Base` लिखना क्यों ज़रूरी है, सिर्फ `class Derived : Base` लिखने से क्या होगा? अगर मैं `class Derived : private Base` या `class Derived : protected Base` लिखूँ तो क्या बदलेगा?\n\nमैंने अलग-अलग विकल्प आज़माए, लेकिन तर्क समझ नहीं आया। उदाहरण के लिए, अगर मैं `private` के माध्यम से इनहेरिट करूँ, तो क्या मैं डिराइव्ड क्लास के अंदर `pub` और `prot` का उपयोग कर सकता हूँ? और बाहर से? अगर मैं किसी क्लास से स्ट्रक्चर इनहेरिट करूँ तो क्या होगा? और सबसे महत्वपूर्ण बात—अगर हर जगह `public` का उपयोग कर सकते हैं, तो इन तीन प्रकार के इनहेरिटेंस की आवश्यकता क्यों है?\n\nकृपया सरल शब्दों में उदाहरणों के साथ समझाएँ। अधिमानतः आसान तरीके से, ताकि एक नौसिखिया समझ सके। पहले से धन्यवाद!\n<<>>\n

संक्षिप्त