CRuntimeClass

CRuntimeClass não tem uma classe base.

Cada classe derivada de CObject está associado com uma estrutura de CRuntimeClass que você pode usar para obter informações sobre um objeto ou sua classe base em tempo de execução. A capacidade de determinar a classe de um objeto em tempo de execução é útil quando extra tipo verificação de argumentos de função é necessária, ou quando você deve gravar código de finalidade especial com base na classe de um objeto. Informações de classe de tempo de execução não são suportadas diretamente pela linguagem C++.

A estrutura tem os seguintes membros:

LPCSTR m_lpszClassName

Uma seqüência de caracteres null-terminated que contém o nome de classe de ASCII.

int m_nObjectSize

O tamanho do objeto, em bytes. Se o objeto tiver membros de dados que aponte para a memória alocada, o tamanho do que a memória não está incluído.

UINT m_wSchema

O número de esquema (-1 para classes de nonserializable). Consulte a macro IMPLEMENT_SERIAL para obter uma descrição do número de esquema.

CObject * (PASCAL m_pfnCreateObject))

Um ponteiro de função para o construtor padrão que cria um objeto de sua classe (válido somente se a classe oferece suporte a criação dinâmica; caso contrário, retorna Nulo).

CRuntimeClass * (PASCAL m_pfn_GetBaseClass))

Se seu aplicativo dinamicamente está vinculado a versão do MFC AFXDLL, um ponteiro para uma função que retorna a estrutura CRuntimeClass da classe base.

CRuntimeClass * m_pBaseClass

Se seu aplicativo esteja vinculado estaticamente a MFC, um ponteiro para a estrutura de CRuntimeClass da classe base.

Recurso some&nte nas edições Enterprise e Professionalnbsp;  Vinculação estática ao MFC é suportado apenas no Visual C++ Professional e Enterprise Editions. Para obter mais informações, consulte Edições do Visual C++.

CObject * CreateObject);

Classes derivadas de CObject podem oferecer suporte a criação dinâmica, que é a capacidade de criar um objeto de uma classe especificada em tempo de execução. Documento, exibir e classes de quadro, por exemplo, devem suporte criação dinâmica. A função de membro de CreateObject pode ser usada para implementar esta função e criar objetos para essas classes durante tempo de execução. Para obter mais informações sobre a criação dinâmica e o membro de CreateObject , consulte CObject classe tópicos e CObject classe: especificando níveis de funcionalidade no Guia do programador do Visual C++.

BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) const;

Retorna TRUE se a classe de membro da classe chamada IsDerivedFrom é derivada da classe base, cuja estrutura CRuntimeClass é fornecida como um parâmetro. IsDerivedFrom anda de classe do membro a Cadeia de classes derivadas de toda a maneira à parte superior e retorna FALSE somente se nenhuma correspondência for encontrada para a classe base.

&Notanbsp;  Para usar a estrutura de CRuntimeClass , você deve incluir o IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATEou IMPLEMENT_SERIAL macro na implementação da classe para o qual você desejar para recuperar informações sobre o objeto de tempo de execução.

Para obter mais informações sobre o uso CRuntimeClass, consulte o artigo CObject classe: acessar informações de classe Run-Time no Guia do programador do Visual C++.

Gráfico de hierarquia

Consulte tambémnbsp;CObject::GetRuntimeClass, CObject:: IsKindOf, RU&NTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL

Index