Compartilhar via


IMPLEMENT_DYNCREATE

Habilita os objetos de CObject-classes a serem criados dinamicamente na execução derivadas time quando usado com o DECLARE_DYNCREATE macro.

IMPLEMENT_DYNCREATE(class_name, base_class_name )

Parâmetros

  • class_name
    O nome real da classe.

  • base_class_name
    O nome real da classe base.

Comentários

A estrutura usa essa capacidade para criar novos objetos dinamicamente, por exemplo, quando lê um objeto do disco durante a serialização.Adicionar o IMPLEMENT_DYNCREATE macro no arquivo de implementação da classe. Para obter mais informações, consulte Classe CObject tópicos.

Se você usar o DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE macros, você pode usar o RUNTIME_CLASS macro e o CObject::IsKindOf função de membro para determinar a classe de objetos de time de execução.

If DECLARE_DYNCREATE está incluído na declaração da classe, em seguida IMPLEMENT_DYNCREATE deve ser incluído na implementação da classe.

Observe que essa definição de macro invocará o construtor padrão para sua classe.Se um construtor não-comum explicitamente é implementado pelo clsistema autônomos, ele deve implementar explicitamente o construtor padrão sistema autônomo bem.O construtor padrão pode ser adicionado a particular or protegido membro seções para evitar que esta sendo chamado a partir de fora a implementação da classe.

Exemplo

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)

Requisitos

Cabeçalho: afx.h

Consulte também

Conceitos

Macros do MFC e globais

Referência

DECLARE_DYNCREATE

RUNTIME_CLASS

CObject::IsKindOf