Sdílet prostřednictvím


IMPLEMENT_DYNCREATE

Umožňuje objekty CObject-odvozené třídy mohou být vytvořeny dynamicky při spuštění čas při použití DECLARE_DYNCREATE makro.

IMPLEMENT_DYNCREATE(class_name, base_class_name )

Parametry

  • class_name
    Skutečný název třídy.

  • base_class_name
    Skutečný název základní třídy.

Poznámky

Rámci používá tato schopnost vytvářet nové objekty dynamicky, například při čtení objektu z disku během serializace.Přidat IMPLEMENT_DYNCREATE v souboru třídy provádění makra.Další informace naleznete v Témata třídy CObject.

Používáte-li DECLARE_DYNCREATE a IMPLEMENT_DYNCREATE makra, můžete použít RUNTIME_CLASS makro a CObject::IsKindOf členské funkce určení třídy objektů v době spuštění.

Pokud DECLARE_DYNCREATE je zahrnuta v deklaraci třídy, pak IMPLEMENT_DYNCREATE musí být součástí implementace třídy.

Všimněte si, že tato definice makra vyvolá výchozí konstruktor pro třídu.Pokud výslovně provádění-trivial konstruktoru třídy musí implementovat také explicitně také výchozí konstruktor.Výchozí konstruktor mohou být přidány do třídy soukromé nebo chráněné členské sekce zabránit volána z mimo implementace třídy.

Příklad

class CMyDynCreateObj : public CObject
{
     int m_Num;
public:
     DECLARE_DYNCREATE(CMyDynCreateObj)
     CMyDynCreateObj(int Num) { m_Num = Num; }
private:
     CMyDynCreateObj() { m_Num = 0; }  // provide default constructor only for 
                                       // dynamic creation 
};
IMPLEMENT_DYNCREATE(CMyDynCreateObj, CObject)

Požadavky

Záhlaví: afx.h

Viz také

Referenční dokumentace

DECLARE_DYNCREATE

RUNTIME_CLASS

CObject::IsKindOf

Koncepty

MFC makra a Globals