IMPLEMENT_DYNCREATE
Permite que objetos de CObject-classes a serem criados dinamicamente em execução derivadas tempo 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 ele lê um objeto de disco durante a serialização.Adicionar o IMPLEMENT_DYNCREATE macro no arquivo de implementação da classe.Para obter mais informações, consulte CObject classe 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 em tempo de execução.
Se DECLARE_DYNCREATE 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 trivial explicitamente é implementado pela classe, ele também explicitamente deve implementar o construtor padrão.O construtor padrão pode ser adicionado à classe particular ou protegido seções de membro para impedir que ele seja 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