Code:
	int initial_time;
	int initial_intel;
	int initial_money;
These are defined as both class private members and also as local variables in Character::init_character(). This needs to be cleaned up - I'd suggest just using the ones that are class members.

Code:
int Character::init_character()
{
	int initial_time=0;
	int initial_money=0;
	int initial_intel=0;
	initial_time=rand.generate_random_number();
	initial_money=rand.generate_random_number();
	initial_intel=rand.generate_random_number();
	return(inital_time, initial_money, intial_intel);
}
You can't return multiple values using the return statement.