तक पहुंच घोषणा, यह देखते हुए कि हमने बेस क्लास में अधिभारित विधियां हैं, और एक व्युत्पन्न कक्षा जिसे निजी/संरक्षित के रूप में विरासत में मिला है।बेस क्लास अधिभारित विधि
- क्या हम अधिभारित तरीकों के केवल एक/कई मूल पहुंच स्तर को पुनर्स्थापित कर सकते हैं?
- जीसीसी 4.4.0 पर मैं बेस विधियों को सुरक्षित पहुंच के तहत रखने की कोशिश करता हूं, फिर इसे निजी एक्सेस का उपयोग करके विरासत में मिला। जब मैं पहुंच स्तर को सार्वजनिक करने की कोशिश करता हूं, तो यह काम करता है! क्या यह काम करने का अनुमान है? या यह संकलक पर एक बग है? मेरी समझ के लिए, पहुंच स्तर को बहाल करने के लिए किसी सदस्य के पहुंच स्तर को बढ़ावा देने या स्थानांतरित करने के लिए उपयोग नहीं किया जाना चाहिए।
कोड स्निपेट:
class base {
public:
void method() {}
void method(int x) {}
protected:
void method2() {}
};
class derived : private base {
public:
base::method; // Here, i want to restore only the none parameterized method
base::method2; // method2 is now public??
};
बीटीडब्लू- आधार :: विधि' का उपयोग कर 'बेस :: विधि' की तरह एक घोषणा है? – Kos
@ कोस, हां, लेकिन यह अब 'बेस :: विधि' कहने के लिए मान्य नहीं है, सी ++ 0x में। इसे एन 3225 ड्राफ्ट द्वारा हटा दिया गया था। –