ตัวทำลายเสมือนล้วนเป็นไปได้ใน C ++ หากคลาสมี pure virtual destructor จะต้องจัดเตรียมเนื้อหาฟังก์ชันสำหรับ destructor เสมือนแท้
โค้ดตัวอย่าง
#include <iostream> using namespace std; class B { public: virtual ~B()=0; // Pure virtual destructor }; 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