मुझे निम्न लिंक में वर्णित एक समस्या है जहां एक निजी रूप से विरासत वाली बेस क्लास घोषित करने का प्रयास करते समय "इस संदर्भ में पहुंच योग्य" त्रुटि प्रदान करती है व्युत्पन्न वर्ग के अंदर आधार वर्ग के एक सदस्य: http://bytes.com/topic/c/answers/164246-private-inheritance-renders-class-inaccessibleनिजी विरासत "इस संदर्भ में पहुंच योग्य" त्रुटि वर्ग के साथ बेस क्लास छुपाती है
:: एक्स के साथ स्पष्ट रूप से संदर्भित एक्स उपरोक्त मामले में काम करता है, लेकिन क्या कोड के रूप में एक समारोह में है अगर:
void fooby()
{
class X {};
class Y : private X {};
class Z : public Y
{
public:
X x; // compiler "inaccessible within this context" error
};
};
कैसे क्या आप इस मामले में एक्स का संदर्भ देते हैं?
अगर फूबी एक संरचना/वर्ग था, तो :: fooby :: एक्स काम करेगा, लेकिन मुझे यकीन नहीं है कि उपर्युक्त मामले में इसे कैसे किया जाए।
आप एक ही प्रकार के सदस्य और बेस क्लास दोनों को करने का प्रयास कर रहे हैं? शायद वह वैकल्पिक सुझाव के साथ मदद करेगा। –
@ मार्क बी - यह व्यवहार को स्पष्ट करने के लिए यह एक साधारण संकलित उदाहरण है जिसे मैं –