RTTI

In C++, RTTI (Run-time type information) is a mechanism that exposes information about an object’s data type at runtime and is available only for the classes which have at least one virtual function. It allows the type of an object to be determined during program runtime execution.
RTTI is provided through two operators:
* The typeid operator, which returns the type of a given expression
* The dynamic_cast operator, which safely converts a pointer or reference to a base type into a pointer or reference to a derived type