ATL використовує CComCoClass , щоб визначити за замовчуванням клас заводу та агрегації модель для вашого об'єкта. CComCoClass визначає наступні два макроси:
Будь-який з цих параметрів за промовчанням можна змінити, вказавши інший макрос у визначенні вашого класу. Наприклад, використовувати CComClassFactory2 замість CComClassFactory, укажіть макрос DECLARE_CLASSFACTORY2:
клас CMyClass:..., nbsp; Громадська CComCoClass < CMyClass & CLSID_CMyClass >
{
готелю:
DECLARE_CLASSFACTORY2(CMyLicense)
...
}
Два інші макроси, які визначають клас заводу включають DECLARE_CLASSFACTORY_AUTO_THREAD і DECLARE_CLASSFACTORY_SINGLETON.
ATL також використовує typedef механізм реалізації поведінку за промовчанням. Наприклад, макрос DECLARE_AGGREGATABLE використовує typedef для визначення типу називаються _CreatorClass, який є потім посилання по всій ATL. Зверніть увагу, що в похідних класів, typedef використовуючи ті ж ім'я, як базовий клас typedef результати в ATL за допомогою вашого визначення та змінюючи стандартну поведінку.