Bruce Eckel's Thinking in C++, 2nd Ed | Contents | Prev | Next |
//: C15:Pvdest.cpp // Pure virtual destructors // require a function body. #include <iostream> using namespace std; class Base { public: virtual ~Base() { cout << "~Base()" << endl; } }; class Derived : public Base { public: ~Derived() { cout << "~Derived()" << endl; } }; int main() { Base* bp = new Derived; // Upcast delete bp; // Virtual destructor call } ///:~