fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct A1 { ~A1() { std::cout << "~A1\n"; } };
  5. struct A2 : A1 { virtual ~A2() { std::cout << "~A2\n"; } };
  6. struct A3 : A2 { ~A3() { std::cout << "~A3\n"; } };
  7. struct A4 : A3 { ~A4() { std::cout << "~A4\n"; } };
  8.  
  9. int main() {
  10. // your code goes here
  11. A3* a = new A4();
  12. delete a;
  13. return 0;
  14. }
  15.  
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
~A4
~A3
~A2
~A1