I'm not sure this a good chapter in that dialog. There are simpler (simpler in the sense 'less complected' and not easier) ways to handle resource management in C++ than this default ballet.
The example is clever C++ code. Most of the time clever C++ is bad because the stupid verbose way would be easier to understand and maintain. So, before demonstrating some intricate template scheme or inheritance trick there should be a good reason presented why it makes things simpler.
I agree on what you said but this example is a poor device if we are discussing code in a production setting.