ちょっと訂正&追加

//----- main.cc -----
#include "dat.h"
class Watch {
public:
  void exec(Dat& dat)
  {
    char key = キーボードからの入力をみる();
    dat.set(key);
  }
};
class Disp {
public:
  void exec(const Dat& dat) const { if (dat.is()) std::cout << dat.is() << std::endl; }
};

int main() {
  Watch w;
  Disp d;
  Dat dat;
  while(1) {
    w.exec(dat);
    d.exec(dat);
  }
  return 0;
}