Step 1 of 5
unique_ptr
std::unique_ptr<T> (from <memory>) owns one heap object and deletes it automatically when the unique_ptr goes away. It's RAII for heap memory, and it costs nothing extra at runtime.
auto p = std::make_unique<Player>("ropz", 100);
p->take_damage(30); // use it like a pointer
// no delete needed, ever
Your turn: create the object with make_unique and access it through the pointer.