devxlogo

Accessing Information About a Class at Runtime Using an Object of the Class

Accessing Information About a Class at Runtime Using an Object of the Class

This can be done for classes derived from CObject through a functionality provided by the MFC as a macro named RUNTIME_CLASS.
1. Make a class derived from CObject and create its object somewhere:

 MyClass MyClassObj = new MyClass;

size=3>
2. Code at some other place where the object is visible.

 CRuntimeClass* p = RUNTIME_MACRO(MyClass);

size=3>
3. The pointer p contains a structure representing details of the classCMyClass and can be used to determine whether an object is of the type CMyClass:

 CObject* pMyNewObject = new CMyClass;

size=3>
It may also perform some processing, such as:

 if(pMyNewObject->IsKindOf( RUNTIME_CLASS( CMyClass ) ) ){//if IsKindOf is true, then do something//some code...}

size=3>

devx-admin

Share the Post: