data-type-conversion class inheritance dynamic_cast polymorphic types
class inheritance pointers polymorphic types