構造体にタグ入れといてclass1_toString(),class2_toString()・・にswitchって感じじゃない?
関数ポインタ使う仕組みとかでもいける