いや、俺もしばらくいけてるもんだと思ってたんだ
ttp://ideone.com/eZSmI

interface にも enum とか body のある static メンバ関数書けるし
テンプレートを書くこと自体は合法みたいなんだけど、あくまでも関数の宣言ではないということらしい。
interface TI を class TI にかえても non-virtual 扱いで hoge を abstract にできない。
空の実装をつけても継承先で override できない。
interface TIにあり得る型をすべて書き出して、class S ではテンプレートで実装。は無理らしい。


でもきっとDならエレガントに解決してくれるはず。<- いまここ