C++ Language/Indirection/SmartPointers/PointerToBaseClass

The pointer-type managed by a smart pointer can be a base class of the actual memory allocation (i.e., ).

Additional information about using smart pointers in a class hierarchy (includes interactive examples)