Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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; // An object of class D
   B *b= &d; // A pointer of type B* pointing to d
   b->s(); // prints "D::s() called"
   return 0;
}

आउटपुट

In Derived

  1. सी ++ में कक्षाएं और वस्तुएं

    कक्षाएं सी ++ की प्रमुख विशेषताएं हैं क्योंकि वे ओओपीएस अवधारणाओं का समर्थन करती हैं और उपयोगकर्ता परिभाषित डेटा प्रकार हैं। कक्षाएं एक वस्तु के लिए विनिर्देश प्रदान करती हैं और इसमें डेटा चर के साथ-साथ एक पैकेज में डेटा में हेरफेर करने के लिए कार्य होते हैं। कक्षा परिभाषाएं क्लास की परिभाषा कीवर्ड

  1. सी ++ में छत और फर्श कार्य

    सील फंक्शन सील फ़ंक्शन सबसे छोटा संभव पूर्णांक मान देता है जो मान के बराबर या उससे अधिक होता है। यह फ़ंक्शन C++ भाषा में cmath हेडर फ़ाइल में घोषित किया गया है। यह सिंगल वैल्यू लेता है जिसकी सील वैल्यू की गणना की जानी है। वैरिएबल का डेटाटाइप डबल/फ्लोट/लॉन्ग डबल ही होना चाहिए। यहाँ C++ भाषा में cei

  1. C++ में फ्रेंड क्लास और फंक्शन

    किसी वर्ग के मित्र कार्य को उस वर्ग के दायरे से बाहर परिभाषित किया गया है लेकिन उसे कक्षा के सभी निजी और संरक्षित सदस्यों तक पहुंचने का अधिकार है। भले ही फ्रेंड फंक्शन के प्रोटोटाइप क्लास डेफिनिशन में दिखाई देते हैं, फ्रेंड्स मेंबर फंक्शन नहीं होते हैं। एक दोस्त एक फंक्शन, फंक्शन टेम्प्लेट, या मेंब