共通処理を継承関係と無縁なtemplate関数にできないか検討してみては?