fork download
  1. #include <memory>
  2. #include <iostream>
  3.  
  4. class Base {
  5. public:
  6. Base() { std::cout << "Constructing Base" << std::endl; }
  7. virtual ~Base() { std::cout << "Destructing Base" << std::endl; }
  8. };
  9.  
  10. class Derived : public Base {
  11. public:
  12. Derived() { std::cout << "Constructing Derived" << std::endl; }
  13. ~Derived() { std::cout << "Destructing Derived" << std::endl; }
  14. };
  15.  
  16. int main() {
  17. std::unique_ptr<Base> ptr{new Derived()};
  18. }
Success #stdin #stdout 0s 2988KB
stdin
Standard input is empty
stdout
Constructing Base
Constructing Derived
Destructing Derived
Destructing Base