1 2 3 4 5 6 7 8 9 10 11 12 13
|
Finally there is a new style cast that is used in combination with
polymorphism (see chapter ref(POLYMORPHISM)). Its syntax is:
verb( dynamic_cast<type>(expression))
Different from the tt(static_cast), whose actions are completely determined
em(compile-time), the tt(dynamic_cast)'s actions are determined em(run-time) to
convert a pointer to an object of some class (e.g., tt(Base)) to a pointer to
an object of another class (e.g., tt(Derived)) which is found further down its
so-called em(class hierarchy) (this is also called em(downcasting)).
At this point in the em(Annotations) a tt(dynamic_cast) cannot yet be
discussed extensively, but we return to this topic in section
ref(DYNAMICCAST).
|