This is definitly not a ridiculous question. To be more precise, when a member function is declared as const, it means that :
- it can't modify data of the class
- it can't call member functions that are not const, because these functions could be able to modify the object data.
- and what i've forgotten (but it's really important), is that a non-const member function can't be called with a const argument, because a non-const member function could try to modify some members of the object.
Now, in your case, it's clear that the isMagicUser() function won't change any member, but you will understand that this keyword can be apply to more complicated functions. (sorry, i don't have any example in mind
)