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