Another, yet equally poor, choice is to have a function called "GetType" or whatever in the Parent class that's set to "Parent" or some constant. Then in the child class you can override it to return ...