fork(2) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class C{
  5. int* cp;
  6. public:
  7.  
  8. C(){ cp = new int;}
  9.  
  10. virtual ~C(){
  11. delete cp;
  12. cout << "~C()" << endl;
  13. }
  14.  
  15. virtual void someMethod()=0;
  16. };
  17.  
  18. class B: public C{
  19. int* bp;
  20. public:
  21.  
  22. B(){ bp = new int;}
  23.  
  24. virtual ~B(){
  25. delete bp;
  26. cout << "~B()" << endl;
  27. }
  28.  
  29. virtual void someMethod(){//some Implementation
  30. }
  31. };
  32.  
  33. class A: public B{
  34. public:
  35. virtual ~A(){
  36. cout << "~A()" << endl;
  37. }
  38. };
  39.  
  40.  
  41.  
  42. int main(){
  43. C *c = new A;
  44. delete c;
  45. return 0;
  46. }
Success #stdin #stdout 0s 3464KB
stdin
Standard input is empty
stdout
~A()
~B()
~C()