इस कोड को देखते हुए:बेस क्लास से छुपा ओवरलोडिंग का पर्दाफाश कैसे करें?
class base {
public:
string foo() const; // Want this to be visible in 'derived' class.
}
class derived : public base {
public:
virtual int foo(int) const; // Causes base class foo() to be hidden.
}
मैं आधार :: foo() को बेस क्लास को कॉल करने वाले डमी विधि अधिभार के साथ प्रतिलिपि किए बिना व्युत्पन्न करने के लिए दृश्यमान कैसे बना सकता हूं? क्या using
चाल करता है, यदि हां, तो यह कहां जाता है, क्या यह ऐसा है?
class derived : public base {
public:
virtual int foo(int) const;
using base::foo;
}
मुझे लगता है कि यह पॉइंटर्स के लिए भी काम करता है: x_ptr-> base :: foo(), है ना? – WilliamKF
@ विलियम: हाँ। दोनों के बीच का अंतर यह है कि 'उपयोग' उस नाम के सभी सदस्यों को एक ही दायरे में खींचता है, इसलिए वे सभी ओवरलोड रिज़ॉल्यूशन में भाग लेते हैं। – ybungalobill