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