यहां हम देखेंगे कि C ++ में डिस्ट्रक्टर और फ्री () फंक्शन में क्या अंतर हैं। वस्तु के नष्ट होने से ठीक पहले कुछ क्रिया करने के लिए विध्वंसक का उपयोग किया जाता है। यह क्रिया स्मृति को मुक्त नहीं कर सकती है, लेकिन कुछ सरल क्रिया कर सकती है जैसे स्क्रीन पर एक संदेश प्रदर्शित करना।
C++ में फ्री () फंक्शन का उपयोग किया जाता है, हम डिलीट कीवर्ड का उपयोग करके भी यही काम कर सकते हैं। जब ऑब्जेक्ट को फ्री () या डिलीट का उपयोग करके डिलीट किया जाता है, तो डिस्ट्रक्टर को बुलाया जाता है। विनाशक कार्य कोई तर्क नहीं लेता है और कुछ भी नहीं देता है। इस फ़ंक्शन को तब कहा जाता है जब फ्री या डिलीट का उपयोग किया जाता है, या ऑब्जेक्ट दायरे से बाहर हो जाता है।
उदाहरण
#include<iostream> #include<cstdlib> using namespace std; class MyClass { public: ~MyClass() { cout << "Destructor of MyClass" << endl; } }; int main() { MyClass *obj; obj = new MyClass(); delete obj; }
आउटपुट
Destructor of MyClass
कभी-कभी फ्री () फ़ंक्शन डिस्ट्रक्टर को कॉल नहीं कर सकता है, लेकिन मेमोरी से सामग्री को हटा सकता है। इसलिए यहां हमने फ्री () के स्थान पर डिलीट कीवर्ड का इस्तेमाल किया है।