Có thể sử dụng hàm hủy ảo thuần túy trong C ++. Nếu một lớp chứa hàm hủy ảo thuần túy, nó phải cung cấp một phần thân hàm cho hàm hủy thuần ảo.
Mã mẫu
#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;
} Đầu ra
~D() is executed Pure virtual destructor is called