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;

2. Code at some other place where the object is visible.

 CRuntimeClass* p = RUNTIME_MACRO(MyClass);

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;

It may also perform some processing, such as:

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

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: