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

C++ में प्योर वर्चुअल डिस्ट्रक्टर


प्योर वर्चुअल डिस्ट्रक्टर C++ में संभव है। यदि किसी क्लास में प्योर वर्चुअल डिस्ट्रक्टर है तो प्योर वर्चुअल डिस्ट्रक्टर के लिए फंक्शन बॉडी प्रदान करना अनिवार्य है।

उदाहरण कोड

#include <iostream> using namespace std; class B {    public:    virtual ~B()=0; // प्योर वर्चुअल डिस्ट्रक्टर }; B::~B() {    std::cout << "Pure virtual destructor is called"; } class D : public B {    public:    ~D() {       cout << "~D() is executed"<<endl;    } }; int main() {    B *bptr=new D();    delete bptr;    return 0; }

आउटपुट

~D() is executed Pure virtual destructor is called

  1. - C++ में इंलाइन वर्चुअल फंक्शन

    C++ में वर्चुअल फंक्शन्स बेस क्लास पॉइंटर्स की एक सूची बनाने और किसी भी डेराइव्ड क्लास के मेथड्स को कॉल करने के लिए उपयोग किए जाते हैं, बिना यह जाने कि डेराइव्ड क्लास ऑब्जेक्ट किस प्रकार का है। वर्चुअल फंक्शन्स रनटाइम पर लेट रिजॉल्व होते हैं।वर्चुअल फंक्शन का मुख्य उपयोग रनटाइम पॉलीमॉर्फिज्म प्राप्त

  1. - C++ में प्योर फ़ंक्शन

    प्योर फ़ंक्शन्स समान आर्गुमेंट मानों के लिए हमेशा समान परिणाम लौटाते हैं। वे केवल परिणाम लौटाते हैं और कोई अतिरिक्त साइड इफेक्ट्स नहीं होते जैसे आर्गुमेंट मॉडिफिकेशन, I/O स्ट्रीम, आउटपुट जनरेशन आदि। कुछ प्योर फ़ंक्शन्स हैं: sin(), strlen(), sqrt(), max(), pow(), floor() आदि। कुछ इम्प्योर फ़ंक्शन्स

  1. - C++ में वर्चुअल डिस्ट्रक्टर्स का उपयोग कब करना चाहिए?

    स्कॉट मेयर्स Effective C++ में कहते हैं: यदि किसी क्लास में कोई वर्चुअल फ़ंक्शन है, तो इसमें एक वर्चुअल डिस्ट्रक्टर होना चाहिए, और जिन क्लासेस को बेस क्लास के रूप में डिज़ाइन नहीं किया गया है या पॉलीमॉर्फिक रूप से उपयोग करने के लिए डिज़ाइन नहीं किया गया है, उन्हें वर्चुअल डिस्ट्रक्टर्स घोषित नहीं क