এই টিউটোরিয়ালে, আমরা 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