DECLARE_POLY_AGGREGATABLE

指定 CComPolyObject < x > 執行個體之後,當您建立的物件。

DECLARE_POLY_AGGREGATABLE( 
   x  
)

參數

  • x
    [in] 要定義為 aggregatable 或不 aggregatable 類別物件的名稱。

備註

在建立時,則外部未知的值進行檢查。如果是 NULLIUnknown 為 nonaggregated 物件上實作。如果這個外部未知的參數不是 NULLIUnknown 為彙總的物件上實作。

使用 DECLARE_POLY_AGGREGATABLE 的優點是您不會處理 CComAggObject 和的 CComObject 於模組彙總和 nonaggregated 情況。單一 CComPolyObject 物件控制代碼兩種情況。這表示只有一個複本的 vtable 和函式的一個複本存在於模組。如果您 vtable 非常大,所以可以大幅降低模組大小。不過,因此,如果您 vtable 很小,使用 CComPolyObject 可能造成更大的模組大小,因為它沒有為彙總或 nonaggregated 最佳化物件,就像 CComAggObjectCComObject

DECLARE_POLY_AGGREGATABLE 巨集會在您的物件自動宣告您使用 ATL 控制項精靈來建立完整的控制項。

需求

Header: atlcom.h

請參閱

參考

CComPolyObject 類別

CComAggObject 類別

CComObject 類別

其他資源

彙總和 Class Factory 巨集

ATL 巨集