I've been pretty curious about this. I'm working on a game and want to have a class system that is set up similarly to Team Fortress 2's.
My main question here is how could a system like this be done? Is there a main 'Player' class, and then the classes inherits that class? Sort of like class Scout : public Player? Or are there enums used to accomplish this?