fork download
  1. #include <iostream>
  2. #include <memory>
  3. #include <string>
  4.  
  5. struct A
  6. {
  7. A(std::string const& str) : name(str) { std::cout << "A" << std::endl; }
  8. virtual ~A() { std::cout << "~A" << std::endl; }
  9.  
  10. std::string name;
  11. };
  12.  
  13. struct B : A
  14. {
  15. B(std::string const& s) : A(s) { std::cout << "B" << std::endl; }
  16. ~B() { std::cout << "~B" << std::endl; }
  17. };
  18.  
  19. int main()
  20. {
  21. std::unique_ptr<A> obj(new B("not leaky"));
  22.  
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
A
B
~B
~A