Unless you're implementing your own hand-rolled RTTI (and bypassing the system one), it's not possible to implement dynamic_cast
directly in C++ user-level code. dynamic_cast
is very much tied into the C++ implementation's RTTI system.
But, to help you understand RTTI (and thus dynamic_cast
) more, you should read up on the <typeinfo>
header, and the typeid
operator. This returns the type info corresponding to the object you have at hand, and you can inquire various (limited) things from these type info objects.