I'd go with base and derived. The word "parent" gets me thinking of parent pointers, and that is a whole other beehive than just common run-of-the-mill one class inherits another. (Superclass and subclass would do fine too, of course; just expressing my preferences, here.)