If the only difference between the characters is the values of the member variables, there is no need to create a sub-class for each character type.
You can have a single character class and simply pass in the correct values when you construct it.
Only if the different characters behaved in fundamentally different ways would you need to consider adding classes specific to each character type.
But, say you wanted a multiplayer game. Even if the only thing that differeniates different characters is different values, wouldn't it be better/easier to have unique classes for each character that inherits from the base character class, and then when people are selecting their character, you could set their character type to the class for the unique character, rather than constantly calling functions that are hardcoded in and would set the values for each specific character?