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

Overview

Recent Articles: