fork download
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. class A {
  6. protected:
  7. A() { cout << "Executing A()" << endl; }
  8. public:
  9. A(const A &) { cout << "Executing A(const A &)" << endl; }
  10. ~A() { cout << "Executing ~A()" << endl; }
  11. };
  12.  
  13. class B : public A {
  14. public:
  15. B() { cout << "Executing B()" << endl; }
  16. ~B() { cout << "Executing ~B()" << endl; }
  17. };
  18.  
  19. class C : public B {
  20. public:
  21. C() { cout << "Executing C()" << endl; }
  22. ~C() { cout << "Executing ~C()" << endl; }
  23. };
  24.  
  25. void someFunc() {
  26. A a = C();
  27. }
  28.  
  29. int main() {
  30. someFunc();
  31. return 0;
  32. }
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
Executing A()
Executing B()
Executing C()
Executing A(const A &)
Executing ~C()
Executing ~B()
Executing ~A()
Executing ~A()