↑の人の使わせてもらうけど
class A{
  public:
 virtual void Initialize( void* )=0;
     };

  class B : public A{
 BStruct bs;
public:
 virtual void Initialize( void* p){
  bs = *(BStruct*)p;
 }
};  

こんな感じに段落をつけてる(文の最初に空白を数行いれてる)のは
見易くするためだけ?