Vedhæftet er et klasse diagram, hvor et objekt skal type castes fra imellem to klasser. Type casting er valid, dvs. objektet har den korrekte type, så castet vil ikke resultere i fejl eller et NULL object.
Det ville være oplagt at bruge dynamic_cast i det pågældende eksempel, men det er jo ret tungt, så hvad gør man så?
Man kan ikke bruge static_cast, da type casting'en ikke er i en direkte linje i inheritance træet. Reinterpret cast er også ubrugelig, da implementationen af denne eftersigende skulle være platform specifik, så den bør man nok ikke binde sig an på, medmindre man laver noget der kun skal compiles med én compiler, til ét OS.
Så er der kun almindelig C-like cast tilbage, dvs. Derived* pDerived = (Derived*)pBase;
Men hvor hurtig er den i forhold til dynamic_cast? Den laver selvfølgelig ikke de runtime checks som dynamic_cast laver.. Og er det grimt at bruge gammeldaws C-like type cast bare fordi man ikke kan bruge static_cast og fordi man ikke vil bruge dynamic_cast? Bliver man lynchet af OO-arkitekt nazierne?

(PS: Det lader til at det kun er mig der poster indlæg i kode-forummet, men hul i det - hyg hyg
