cppannotations/annotations/yo/first/dynamiccast.yo

12 lines
727 B
Text

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).