共用方式為


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 Class

CComAggObject Class

CComObject Class

其他資源

Aggregation and Class Factory Macros

ATL 巨集