皆さんどうしても関数ポインタ使わないと気が済まないの?
なんで?
パフォーマンスのため?
タスクシステムを忠実にC++で再現したいから?

CSomeTask::update ()
{
 switch(this->mode){
 case UPDAETMODE_DEFAULT:
  this->do_default ();
  break;
 case UPDATEMODE_PAUSE:
  this->do_pause ();
  break;
 case UPDATEMODE_DEBUG:
  this->do_debug ();
  break;
 }
}

実際これでほぼ十分でしょ。