fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class B
  6. {
  7. public:
  8. virtual void f() const { cout << "B\n"; }
  9. virtual ~B() { cout << "~B\n"; }
  10. };
  11.  
  12. class C: public B
  13. {
  14. public:
  15. void f() const { cout << "C\n"; }
  16. ~C() { cout << "~C\n"; }
  17. };
  18.  
  19. class D: public C
  20. {
  21. public:
  22. void f() const { cout << "D\n"; }
  23. ~D() { cout << "~D\n"; }
  24. };
  25.  
  26. int main()
  27. {
  28. B*b = new D;
  29. b->f();
  30. delete b;
  31. }
  32.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
D
~D
~C
~B