У вас должно быть только одно определение каждого ученика, но у вас есть два
Первый (неявный в определении класса)
public:
AlienSpaceship(float, float, float, float, OrganismType):Spaceship(float, float, float, float)
{}
и второй в исходном файле
AlienSpaceship::AlienSpaceship(float health, float food, float cash, float misc, OrganismType race):Spaceship(health, food, cash, misc)
{
this->race = race;
}
Выберите один из них, либо поставьте
AlienSpaceship(float health, float food, float cash, float misc, OrganismType race):Spaceship(health, food, cash, misc)
{
this->race = race;
}
в определение класса
либо объявите это в классе
class AlienSpaceship: public Spaceship{
OrganismType race;
public:
AlienSpaceship(float, float, float, float, OrganismType);
и определить в исходном файле
AlienSpaceship::AlienSpaceship(float health, float food, float cash, float misc, OrganismType race):Spaceship(health, food, cash, misc)
{
this->race = race;
}
Кроме того, объявление, как это
AlienSpaceship(float, float, float, float, OrganismType):Spaceship(float, float, float, float)
is incorrect too. Actually, it conatains a part of defenition.