>IO_Deviceは必ずopen(), close(), read(), write(), seek()を
>定義しろ、とか。

それをドキュメントに書いておくのと、このクラスを継承しろ、というのと
どちらの方が利点が上なのか?

>テンプレートとなるAbstrcuct classが無くても別にダックタイピングな
>世界では確かに構わないとも言えるんだが、あったほうが分かりやすい。

Abstrcuct classを使わない方が柔軟である、とも言える。
本当にseek()を用意する必要はあるのか、とか。