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ที่ใช้ชื่อเดียวกันเป็นคลาส base typedefผล ATL ใช้คำจำกัดความของคุณ และการแทนที่ลักษณะการทำงานเริ่มต้น?