Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में वर्चुअल फंक्शन कैसे इम्प्लीमेंट किए जाते हैं?


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

  1. - C++ में स्टैटिक क्लास मेंबर्स कब इनिशियलाइज़ होते हैं?

    C++ स्टैटिक क्लास मेंबर्स को static कीवर्ड का उपयोग करके परिभाषित किया जा सकता है। क्लास में स्टैटिक मेंबर मेमोरी में स्टैटिक क्लास मेंबर की केवल एक कॉपी होने के कारण क्लास के सभी ऑब्जेक्ट्स द्वारा साझा किया जाता है, चाहे क्लास के ऑब्जेक्ट्स की संख्या कुछ भी हो। स्टैटिक क्लास मेंबर को तब शून्य से इन

  1. - C++ में ऑब्जेक्ट्स को फ़ंक्शन्स में कैसे पास करें?

    ऑब्जेक्ट्स को फ़ंक्शन्स में पास करने के चार तरीके हैं। मान लें आपके पास क्लास X है और आप इसे फ़ंक्शन fun में पास करना चाहते हैं, तो: वैल्यू द्वारा पास करें यह फ़ंक्शन स्कोप में ऑब्जेक्ट की एक शैलो लोकल कॉपी बनाता है। यहां आपके द्वारा मॉडिफाई की गई चीजें पास किए गए ऑब्जेक्ट में रिफ्लेक्ट नहीं होंगी

  1. - C# में वर्चुअल फ़ंक्शन क्या हैं?

    virtual कीवर्ड एक मेथड, प्रॉपर्टी, इंडेक्सर, या इवेंट को संशोधित करने में उपयोगी है। जब आपके पास एक क्लास में परिभाषित फ़ंक्शन होता है जिसे आप इनहेरिटेड क्लास(एस) में कार्यान्वित करना चाहते हैं, तो आप वर्चुअल फ़ंक्शन का उपयोग करते हैं। वर्चुअल फ़ंक्शन को विभिन्न इनहेरिटेड क्लास में अलग-अलग तरीके से