इस ट्यूटोरियल में, हम C++ में Shared_ptr का उपयोग करके वर्चुअल विनाश को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे।
किसी वर्ग के उदाहरणों को हटाने के लिए, हम आधार वर्ग के विनाशक को आभासी होने के लिए परिभाषित करते हैं। इसलिए यह विभिन्न ऑब्जेक्ट इंस्टेंस को उस उल्टे क्रम में विरासत में मिला है जिसमें वे बनाए गए थे।
उदाहरण
#include <iostream> #include <memory> using namespace std; class Base { public: Base(){ cout << "Constructing Base" << endl; } ~Base(){ cout << "Destructing Base" << endl; } }; class Derived : public Base { public: Derived(){ cout << "Constructing Derived" << endl; } ~Derived(){ cout << "Destructing Derived" << endl; } }; int main(){ std::shared_ptr<Base> sp{ new Derived }; return 0; }
आउटपुट
Constructing Base Constructing Derived Destructing Derived Destructing Base