c++: dynamic_cast vs reinterpret_cast

V13 v13 at v13.gr
Tue Sep 11 02:41:36 EEST 2012


On Sunday 09 September 2012, Theodore Lytras wrote:
> Για να γίνω πιο συγκεκριμένος, έχω τις abstract base classes A και B, και
> μια σειρά concrete κλάσεων Χ1 έως Χ5. Οι Χ1, Χ2 και Χ3 κληρονομούν τόσο το
> A όσο και το B, ενώ οι Χ4 και X5 μόνο το Β. Ούτε η Α ούτε και η Β
> κληρονομούνται από άλλες κλάσεις.

Gia na kaneis cast to A se B theleis forward gnosi ths katastashs toy A. 
Theleis diladi plirofories poy den perilambanontai mesa se ena antikeimeno 
typoy A. Ayto soy apokleiei amesa otidipote den exei na kanei me RTTI kai soy 
apagoreyei dia ropaloy na xrisimopoihseis apla cast (reinterpret_cast).

An diladi exeis ayto:

------
X1 x1;
X4 x4;

void test(A *a) { ... }

test(&x1); test(&x2);
------

tote o monos tropos na kserei h test an to a proerxetai apo X1 h X4 (h alios: 
an einai kati poy klironomei kai to B) einai to RTTI.

Yparxoyn pantos arketes pithanotites na mporeis na apofygeis tetoies aprepeies 
alazontas elafros tis klaseis soy. Giati den dineis ena paradeigma toy ti 
prospatheis na kaneis?

Isos na yparxei pio aplos tropos <trolling> opos ena struct me type 
information kai ena union </trolling>


More information about the Linux-greek-users mailing list