а ты представь что ты про него не знаеш и не используй его
будет код понятнее и красивее
указатели на коекакие хитрые классы нельзя получить обратно из void*
т.е.
среди предков CMyClass есть CParentMyClass.
CMyClass * OrigClass = ...;
void * p = OrigClass;
...
CParentMyClass* ReferenceClass = (CParentMyClass*)( p );
может получиться так что ReferenceClass будет указывать совсем не тудаже куда и OrigClass.
не спасёт даже и dynamic_cast.
ps пример может и не очень удачный, но суть в том что при хитром множественном виртуальном наследовании будут глюки при присваивании к void* а потом обратно.