Compartir a través de


IMPLEMENT_DYNCREATE

Habilita los objetos de CObject- clases derivadas que se creen dinámicamente en tiempo de ejecución cuando se utiliza con la macro de DECLARE_DYNCREATE .

IMPLEMENT_DYNCREATE(class_name, base_class_name )

Parámetros

  • class_name
    El nombre real de la clase.

  • base_class_name
    El nombre real de la clase base.

Comentarios

El marco de trabajo usa esta capacidad para crear nuevos objetos dinámicamente, por ejemplo, cuando lee un objeto desde el disco durante la serialización.Agregue la macro de IMPLEMENT_DYNCREATE en el archivo de implementación de la clase.Para obtener más información, vea temas de la clase de CObject.

Si utiliza las macros de DECLARE_DYNCREATE y de IMPLEMENT_DYNCREATE , puede utilizar la macro de RUNTIME_CLASS y la función miembro de CObject::IsKindOf para determinar el tipo de objetos en tiempo de ejecución.

Si DECLARE_DYNCREATE se incluye en la declaración de clase, después IMPLEMENT_DYNCREATE se debe incluir en la implementación de la clase.

Observe que esta definición de macro invocará al constructor predeterminado para la clase.Si la clase implementa un constructor no trivial explícitamente, también debe implemente explícitamente el constructor predeterminado también.El constructor predeterminado puede ser agregado a private de la clase o a las secciones del miembro de protected para evitar que se llamará desde fuera de la implementación de la clase.

Ejemplo

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

Header: afx.h

Vea también

Referencia

DECLARE_DYNCREATE

RUNTIME_CLASS

CObject::IsKindOf

Conceptos

Macros y funciones globales de MFC