I'm having a lot of trouble understanding the purpose of templates in ATL/WTL code.
When you look at WTL, you see code like:
template <class TBase>
class CEditT : public TBase
{
...
};
typedef CEditT<ATL::CWindow> CEdit;
Why is CEditT
defined with a template base class?
In other words, in what scenario would CEditT<T>
ever be instantiated where T
is not CWindow
?