Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> 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; // d को इंगित करने वाला B* टाइप का पॉइंटर    b->s(); // प्रिंट करता है "D::s() called"    return 0; }

आउटपुट

In Derived

  1. - C++ में लोकल क्लास (Local Class)

    लोकल क्लास क्या है? एक फ़ंक्शन के अंदर घोषित क्लास को लोकल क्लास कहते हैं क्योंकि यह उस फ़ंक्शन के लिए स्थानीय (local) होती है। बेसिक उदाहरण #include <iostream> using namespace std; void func() { class LocalClass { }; } int main() { return 0; } नियम और प्रतिबंध लोकल क्लास का नाम

  1. - C++ में क्लासेस और ऑब्जेक्ट्स (Classes and Objects)

    क्लास क्या है? C++ की प्रमुख विशेषता जो OOPS अवधारणाओं का समर्थन करती है और उपयोगकर्ता-परिभाषित डेटा प्रकार है। क्लास ऑब्जेक्ट के लिए विनिर्देश (blueprint) प्रदान करती है और डेटा चर तथा डेटा मैनिपुलेट करने वाले फ़ंक्शंस को एक पैकेज में रखती है। क्लास परिभाषा class कीवर्ड से शुरू, फिर क्लास नाम, फि

  1. - C++ में वेरिएबल्स के स्टोरेज क्लासेस क्या हैं?

    एक स्टोरेज क्लास C++ प्रोग्राम के भीतर वेरिएबल्स और/या फंक्शन्स के स्कोप (विजिबिलिटी) और लाइफ-टाइम को परिभाषित करता है। ये स्पेसिफायर्स उस प्रकार से पहले आते हैं जिसे वे संशोधित करते हैं। C++ प्रोग्राम में निम्नलिखित स्टोरेज क्लासेस उपयोग की जा सकती हैं: auto register static extern mutable C में,