[c++] Do I need to explicitly call the base virtual destructor?