Calling Constructor of the Base Class

MyFriends(HumanTypes tp) : HumanBeing(tp == BIG_JERK? NICE_GUY : tp){}

Got it, thanks.

Presumably a call to a function returning the correct type could also go inside the HumanBeing() invocation?

Or even a lambda function?