>60
問題点
1) >>62 やりたいことはわからんでもないが
 マクロじゃないんだから型名を変数で置き換えなんてできないぞ
 まだやるなら
 int classKind;Base* base=NULL;
ReadClassKindFromFile(classKind);
switch(classkind) {
 case CLASS_HASEI1:base = new HASEI1;break;
 case CLASS_HASEI2:base = new HASEI2;break;
default:dataerror();break;
}
2)こうしたところで、HASEI1を解決するためには
 "hasei1.h"をインクルードしなきゃいけないのは 当然。