CString Inheritance

  atl, c++, mfc, templates

If CStringT inherits from CSimpleStringT and the class definition for CSimpleStringT is as follows, according to the CSimpleString Documentation:

template<typename BaseType>
class CSimpleStringT

How does CSimpleStringT have two template arguments? Are they both of the same BaseType parameter such that template<typename BaseType, class BaseType> class CSimpleStringT?

From the CStringT Documentation:

template<typename BaseType, class StringTraits>
class CStringT :
    public CSimpleStringT<BaseType,
        _CSTRING_IMPL_::_MFCDLLTraitsCheck<BaseType, StringTraits>::c_bIsMFCDLLTraits>

Source: Windows Questions C++