मुझे सबक्लासिंग और विधियों का उपयोग करने में समस्या है।उपclass विधि क्यों नहीं कहा जाता है?
मैं कक्षा B
का एक उदाहरण बनाता हूं और इसे A
पर पॉइंटर के रूप में संग्रहीत करता हूं। लेकिन जब मैं ओवरलोडेड विधि को कॉल करने के लिए पॉइंटर का उपयोग करता हूं, तो आउटपुट "ए" नहीं "बी" होता है। क्यूं कर?
यह अन्य भाषाओं में काम करता है, मैं क्या गलत कर रहा हूं?
#include <iostream>
using namespace std;
class A {
public:
void f() {
cout << "A";
}
};
class B : public A {
public:
void f() {
cout << "B";
}
};
int main() {
A *a = new B();
a->f();
return 0;
}
घोषित एक के 'च()' विधि आभासी। रनटाइम पर बिंगिंग स्थगित करने के लिए। अन्यथा –
हाँ के लिए स्थैतिक बिंगिंग क्योंकि यह अच्छा स्पष्टीकरण के लिए वर्चुअल –