Здравствуйте, nen777w, Вы писали:
N>Абстрактный виртуальный kind_of в базовом классе.
Это все конечно здорово, вот только не всегда работает
ST kindOf(void* p) { return ((S*)p)->kind_of(); }
int i;
kindOf(&i); // упсstruct One { int t; };
struct Two : One, S2 {};
Two t;
kindOf(&t); // если Two хранится в памяти как (One, S2) - будут грабли