Take the 2-minute tour ×  I'm making a text based game in C++,
but I've hit a snag. I have three classes, plus the driver
program. One class is for the player, one for monsters, and one
for battle related functions.  My question is, what would be the
best way to split up the functions between the classes? Right
now I have the variables and functions that create and store all
data for the player character (typical RPG style stats, the
player menu for commands like move, inventory, etc.), the
inventory, and the structs I use to create weapons and armor in
the player class. I have a similar class for creating monsters.
I originally intended to put all of the functions related to
fighting in the battle class, but then it occurred to me that
I'll need all of the data of the player and monsters for the
fight function. So, I wrote the main fight function in the
driver program, where I create the player and monster objects,
and therefore have access to the private member variables of
each. However, since I have the