>>151
Status::set()をこんなふうにしてみては?

void Status::set(const ACertainClass& ある物, int i)
{
  if (ある物.状態())  // == true は嫌 (CのFAQ参照)
    dat = i;
}