Virtual Destructor
unknown
c_cpp
3 years ago
400 B
3
Indexable
#include<iostream> class A { public: virtual ~A() = 0; }; A::~A(){ std::cout << "A::~A"; } class B: public A { public: ~B() { std::cout << "B::~B"; } }; int main() { A *a = new A(); // <--- NON COMPILA, perche' A e' astratta A *ab = new B(); // <--- COMPILA, e stampa B::B~ A::~A() quando viene distrutto B *b = new B(); // <--- COMPILA, e chiama B::B~ A::~A() quando viene distrutto }
Editor is loading...