Pardon the naive question, I’m trying to see if there is something more complex here that escapes me.
What is exactly the purpose of the IsA() method? I understand that when we say
if(obj->IsA() == MyClass::Class())
we test if obj is of type MyClass.
I can think that this can be used with inheritance (or multiple inheritance) where a pointer may be pointing to more than one types. If that’s the case, then this is very similar to a dynamic_cast operation. Then, why go into the trouble of introducing the IsA() method?