サブクラスのコンストラクタの関数ポインタって、スーパークラスのコンストラクタポインタ変数に代入できる?

if文使うより綺麗にはなりそう

enum e_kind{yusya,mahou,size};

class yusya:unit{
public yusya();
}

class mahou:unit{
public mahou();
}

//あとユニットクラスのコンストラクタの関数ポインタ配列にyusya,mahouをいれて
配列のインデックスに列挙体の定数入れて呼び出す
戻り値はunit


って感じのできたらいいんだけど、
結局配列に関数ポインタいれるのてが気になるんだよなぁesp