सी ++ में वर्चुअल फ़ंक्शंस बेस क्लास पॉइंटर्स की सूची बनाने के लिए उपयोग किए जाते हैं और किसी भी व्युत्पन्न वर्ग के कॉल विधियों को बिना किसी प्रकार के व्युत्पन्न वर्ग ऑब्जेक्ट को जानने के लिए उपयोग किया जाता है। वर्चुअल फ़ंक्शंस को रनटाइम पर देर से हल किया जाता है।
यहाँ C++ प्रोग्राम में वर्चुअल फंक्शन का कार्यान्वयन है -
उदाहरण
#include <iostream>
using namespace std;
class B {
public:
virtual void s() { //virtual function
cout<<" In Base \n";
}
};
class D: public B {
public:
void s() {
cout<<"In Derived \n";
}
};
int main(void) {
D d; // An object of class D
B *b= &d; // A pointer variable of type B* pointing to d
b->s(); // prints"D::s() called"
return 0;
} आउटपुट
In Derived