>>23
テンプレートうんぬんの部分は、
abstruct class と本質的に変わらないんじゃ?

class IUIAdonerImplWindowless : public IUIAdoner {
protected:
 virtual void CreateFont(font& f) { f = SysCreateFont(); }
...
};

効率性とか、コンストラクタで呼べるとかは抜きにして。
ATL/WTLの自己言及的テンプレートって、結局はvtableケチってるだけでしょ?