The latest version of this topic can be found at Dynamic Object Creation.
This article explains how to create an object dynamically at run time. The procedure uses run-time class information, as discussed in the article 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
CreateObjectfunction of theCRuntimeClass. Note that on failure,CreateObjectreturns NULL instead of raising an exception:CRuntimeClass* pRuntimeClass = RUNTIME_CLASS( CMyClass ); CObject* pObject = pRuntimeClass->CreateObject(); ASSERT( pObject->IsKindOf( RUNTIME_CLASS( CMyClass ) ) );