순수 가상 소멸자는 C++에서 가능합니다. 클래스에 순수 가상 소멸자가 포함된 경우 순수 가상 소멸자에 대한 함수 본문을 제공해야 합니다.
예시 코드
#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