CRuntimeClass

CRuntimeClass non dispone di una classe base.

Ogni classe derivata da CObject č associato con una struttura di CRuntimeClass che č possibile utilizzare per ottenere informazioni su un oggetto o la classe di base in fase di esecuzione. La capacitą di determinare la classe di un oggetto in fase di esecuzione č utile quando č necessario controllare gli argomenti della funzione di tipo extra, o quando č necessario scrivere codice specifico basato sulla classe di un oggetto. Informazioni sulla classe in fase di esecuzione non č supportati direttamente dal linguaggio C++.

La struttura dispone dei membri seguenti:

LPCSTR m_lpszClassName

Una stringa con terminazione null contenente il nome della classe ASCII.

int m_nObjectSize

Le dimensioni dell'oggetto, in byte. Se l'oggetto ha membri dati che puntano a memoria allocata, le dimensioni di quella memoria non viene inclusa.

UINT m_wSchema

Il numero di schemi (-1 per le classi serializzabili). Vedere la macro IMPLEMENT_SERIAL per una descrizione del numero dello schema.

CObject * (PASCAL m_pfnCreateObject))

Un puntatore a funzione al costruttore predefinito che crea un oggetto della classe (valido solo se la classe supporta la creazione dinamica; in caso contrario, restituisce NULL).

CRuntimeClass * (PASCAL m_pfn_GetBaseClass))

Se l'applicazione č collegata in modo dinamico alla versione di MFC AFXDLL, un puntatore a una funzione che restituisce la struttura CRuntimeClass della classe base.

CRuntimeClass * m_pBaseClass

Se l'applicazione č collegata in modo statico a MFC, un puntatore alla struttura CRuntimeClass della classe base.

Fu&nzionalitą solo in Professional ed Enterprise edizioninbsp;  Collegamento statico a MFC č supportato solo in Visual C++ Professional ed Enterprise edizioni. Per ulteriori informazioni, vedere Edizioni di Visual C++.

CObject * CreateObject);

Le classi derivate da CObject possono supportare la creazione dinamica, che č la capacitą di creare un oggetto di una classe specificata in fase di esecuzione. Documento, visualizzazione e classi di telaio, ad esempio, dovrebbero sostenere la creazione dinamica. La funzione membro CreateObject consente di implementare questa funzione e creare oggetti per queste classi durante la fase di esecuzione. Per ulteriori informazioni sulla creazione dinamica e il membro CreateObject , vedere CObject classe argomenti e classe CObject: specificare i livelli di funzionalitą nel manuale del programmatore di Visual C++.

BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) const;

Restituisce TRUE se la classe di chiamare IsDerivedFrom il membro della classe č derivata dalla classe di base cui struttura CRuntimeClass č dato come parametro. IsDerivedFrom cammina dalla classe del membro della catena delle classi derivate fino alla cima e restituisce FALSE solo se viene trovata alcuna corrispondenza per la classe base.

&Notanbsp;  Per utilizzare la struttura CRuntimeClass , č necessario includere la macro IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATEo IMPLEMENT_SERIAL nell'implementazione della classe per la quale si desidera recuperare informazioni sull'oggetto in fase di esecuzione.

Per ulteriori informazioni sull'utilizzo di CRuntimeClass, vedere l'articolo classe CObject: informazioni sulla classe l'accesso A Run-Time nel manuale del programmatore di Visual C++.

Gerarchia Chart

Vedere anchenbsp;CObject::GetRuntimeClass, CObject::IsKindOf, RU&NTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL

Index