#include <iostream>
#include <memory>
using namespace std;
class A{
public:
A() {std::cout << "A()\n";}
~A() {std::cout << "~A()\n";}
};
class B{
public:
B() {
a_ = std::make_unique<A>();
std::cout << "B()\n";
}
~B() {std::cout << "~B()\n";}
private:
std::unique_ptr<A> a_;
};
int main() {
std::cout << "start\n";
B b;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQXsKcHVibGljOgoJQSgpIHtzdGQ6OmNvdXQgPDwgIkEoKVxuIjt9Cgl+QSgpIHtzdGQ6OmNvdXQgPDwgIn5BKClcbiI7fQp9OwoKY2xhc3MgQnsKcHVibGljOgoJQigpIHsKCQlhXyA9IHN0ZDo6bWFrZV91bmlxdWU8QT4oKTsKCQlzdGQ6OmNvdXQgPDwgIkIoKVxuIjsKCX0KCX5CKCkge3N0ZDo6Y291dCA8PCAifkIoKVxuIjt9CnByaXZhdGU6CglzdGQ6OnVuaXF1ZV9wdHI8QT4gYV87CQp9OwoKaW50IG1haW4oKSB7CglzdGQ6OmNvdXQgPDwgInN0YXJ0XG4iOwoJQiBiOwp9