Dynamic casting:
In polymorphic classes (classes with at least one virtual function), it can also perform down-casting (base → derived) and cross-casting (between siblings), safely at runtime using RTTI (Run-Time Type Information) stored in the v table.
Static casting:
Reinterpret casting:
Constant casting:
Common use cases: