CObject Class: Dynamic Object Creation

OverviewHow Do IFAQ

This article explains how to create an object dynamically at run time. The procedure uses run-time class information, as discussed in the article CObject Class: Accessing Run-Time Class Information.

To dynamically create an object given its run-time class

  • Use the following code to dynamically create an object by using the CreateObject function of the CRuntimeClass. Note that on failure, CreateObject returns NULL instead of raising an exception:

    CRuntimeClass* pRuntimeClass = RUNTIME_CLASS( CMyClass );
    CObject* pObject = pRuntimeClass->CreateObject();
    ASSERT( pObject->IsKindOf( RUNTIME_CLASS( CMyClass ) ) );