My plan for this class is to make a class called Character. Character will have everything ... |
This is the right approach. In Object Oriented Programming, a Class is an Object, and should do everything you want that object to do.
It does this using Methods. Methods are messages that the Class accepts and will make it do stuff. That's the only way to communicate with and object, by sending it messages.
In C++, methods are implemented as virtual functions. C++ is a hybrid language, so has lots of concepts, it's difficult to disentangle them by starting with the language. It's kinda like trying to learn English by reading Shakespare.
Then I will use a virtual function to to connect that to a playerCharacter class. |
So you should now realize that this isn't quite right.
Every communication with Character must be done thru a virtual function. In doing so, you can then specialize Character to say, have different abilities.
The archetypal example is handling shapes. You can do stuff with a shape, create one, draw one, colour it in, save it, ... and these operations can be done with different kinds of shapes. It's the same with you Character class.