fork(1) download
  1. #include <iostream>
  2.  
  3. class Base
  4. {
  5. public:
  6. Base(){}
  7. virtual ~Base(){
  8. std::cout << "deleting b" << std::endl;
  9. finalize();
  10. }
  11. virtual void finalize()
  12. {
  13. std::cout << "called finalize in Base" << std::endl;
  14. }
  15. };
  16.  
  17. class A : public Base
  18. {
  19. public:
  20. A(){}
  21. ~A(){}
  22. void finalize(){std::cout << "called finalize in a" << std::endl;}
  23. };
  24.  
  25. int main(int argc, char *argv[])
  26. {
  27. Base *b = new A;
  28. delete b;
  29. }
Success #stdin #stdout 0.02s 2860KB
stdin
Standard input is empty
stdout
deleting b
called finalize in Base