>>151etc.
>218の言うとおり。
そして>160で解決でしょう。
あともし継承つかうなら、
1. class Dat の中の set() を virtual にする
2. class Dat の中の key を static にする
3. class Watch と class Disp は Dat を継承
4. class Watch の中で set をオーバーロード
でどうでしょう?
要は Disp で set() を呼び出せないようにしたいと解釈したんだけど。