inheritance – the c ++ character is derived from the super class

I'm trying to create a derived class Warrior of the super class Hero instead of using the same Hero class for all encounters in a battle simulator game. What is a common way of addressing this?

*Edit:
I would like to make a "Hero" main class that contains all the attributes shared by other subclasses (hp, damage) in a more structured approach

GameObject.h

#ifndef GAME_OBJECT_H
#define GAME_OBJECT_H

using namespace std;

#include 
#include 
#include 
#include 
#include 
#include "windows.h"
#include 
#include "Hero.h"
#include "Warrior.h"
#include "Archer.h"
#include "Mage.h"
#include "Monster.h"
#include "GameItems.h"


#determinate if

Hero.h

#pragma once

#ifndef HERO_H
#define HERO_H

#include "GameObject.h"

hero class
{
protected:
std :: string name;
int hp;
int power
public:
Hero ();
Hero (std :: string n);
virtualize InitializeStats ();
virtual void DisplayStats ();
};

#determinate if

Hero.cpp

#include "Hero.h"

Hero :: Hero ()
{

}

Hero :: Hero (std :: string n)
{
name = n;
}

void Hero :: InitializeStats ()
{
hp = 50;
power = 10;
}

void Hero :: DisplayStats ()
{
cout << "Name:" << name << endl;
cout << "HP:" << hp << endl;
cout << "Power:" << power << endl;
}

Guerrero.h

#ifndef WARRIOR_H
# define WARRIOR_H

#include "Hero.h"

Warrior class: public hero
{
public:
Warrior ();
};

#determinate if