Ошибка Undefined reference в кьюте

Ошибка

Подскажите, пожалуйста, в чем ошибка?

mainbuildcompany.h

#ifndef MAINBUILDCOMPANY_H
#define MAINBUILDCOMPANY_H

#include<QString>

class MainBuildCompany
{ 
protected:
   QString Name_Company;
   QString Coasts;
   QString Name;
   QString Surname;
   QString MiddleName;
public:
   MainBuildCompany();
   MainBuildCompany(QString name_company, QString coasts, QString name, QString surname, QString middlename);

   void ChangeNameCompany(QString name_company);

   void ChangeCoast(QString coast);

   void ChangeName(QString name);

   void ChangeSurname (QString surname);

   void ChangeMiddleName (QString middlename);

   virtual void ChangeAreaKM(QString areakm)=0;

   virtual void ChangeTimeDays(QString timeday)=0;

   QString GetNameCompany();

   QString GetCoasts();

   QString GetName();

   QString GetSurname();

   QString GetMiddleName();

   virtual QString GetAreaKM()=0;

   virtual QString GetTimeDays()=0;

   virtual ~MainBuildCompany() ;
};

class BuildCompany:public MainBuildCompany
{
private:
   QString BuildAreaKm;
   QString BuildTimeDays;
public:
   BuildCompany();
   BuildCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString buildareakm, QString buildtimedays);

    void ChangeAreaKM(QString areakm);

    void ChangeTimeDays(QString timeday);

    QString GetAreaKM();

    QString GetTimeDays();

    ~BuildCompany();
};

class DestroyCompany:public MainBuildCompany
{
private:
   QString DestroyAreaKm;
   QString DestroyTimeDays;
public:
   DestroyCompany();
   DestroyCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString destroyareakm, QString destroytimedays);

   void ChangeAreaKM(QString areakm);

   void ChangeTimeDays(QString timeday);

   QString GetAreaKM();

   QString GetTimeDays();

    ~DestroyCompany();
};

class ChangeCompany:public MainBuildCompany
{
private:
   QString ChangeAreaKm;
   QString ChangeTimeDays;
public:
   ChangeCompany();
   ChangeCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString changeareakm, QString changetimedays);

   void ChangeAreaKM(QString areakm);

   void ChangeTimeDay(QString timedays);

   QString GetAreaKM();

   QString GetTimeDays();

   ~ChangeCompany();
};

#endif // MAINBUILDCOMPANY_H

mainbuildcompany.cpp

#include "mainbuildcompany.h"

//Родительский класс
MainBuildCompany::MainBuildCompany(): Name_Company("Annoying"), Coasts("25000"), Name("Alexey"), Surname("Skoblyakov"),MiddleName("Sergeevich") {};
MainBuildCompany::MainBuildCompany(QString name_company, QString coasts, QString name, QString surname, QString middlename):
    Name_Company(name_company),Coasts(coasts), Name(name), Surname(surname), MiddleName(middlename) {}

void MainBuildCompany::ChangeNameCompany(QString name_company){Name_Company=name_company;}
void MainBuildCompany::ChangeCoast(QString coast) {Coasts = coast; }
void MainBuildCompany::ChangeName(QString name) {Name=name; }
void MainBuildCompany::ChangeMiddleName(QString middlename) {MiddleName=middlename; }
void MainBuildCompany::ChangeSurname(QString surname) {Surname=surname; }
QString MainBuildCompany::GetNameCompany() {return Name_Company; }
QString MainBuildCompany::GetCoasts() {return Coasts; }
QString MainBuildCompany::GetName() { return Name; }
QString MainBuildCompany::GetMiddleName(){ return MiddleName; }
QString MainBuildCompany::GetSurname() { return Surname; }

//Порожденный класс для строения
BuildCompany::BuildCompany():BuildAreaKm("20"),BuildTimeDays("15") {}
BuildCompany::BuildCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString buildareakm, QString buildtimedays):
    MainBuildCompany(name_company,coasts,name,surname,middle_name), BuildAreaKm(buildareakm),BuildTimeDays(buildtimedays) {}

void BuildCompany::ChangeAreaKM(QString areakm) { BuildAreaKm=areakm; }
void BuildCompany::ChangeTimeDays(QString timeday) { BuildTimeDays=timeday; }
QString BuildCompany::GetAreaKM() {return BuildAreaKm; }
QString BuildCompany::GetTimeDays() { return BuildTimeDays; }

//Порожденный класс для уничтожения
DestroyCompany::DestroyCompany():DestroyAreaKm("12"),DestroyTimeDays("10") {}
DestroyCompany::DestroyCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString destroyareakm, QString destroytimedays):
    MainBuildCompany(name_company,coasts,name,surname,middle_name),DestroyAreaKm(destroyareakm),DestroyTimeDays(destroytimedays) {}

void DestroyCompany::ChangeAreaKM(QString areakm) { DestroyAreaKm=areakm; }
void DestroyCompany::ChangeTimeDays(QString timeday) { DestroyTimeDays=timeday; }
QString DestroyCompany::GetAreaKM() { return DestroyAreaKm; }
QString DestroyCompany::GetTimeDays() { return DestroyTimeDays; }

//Порожденный класс для изменения
ChangeCompany::ChangeCompany():ChangeAreaKm("12"),ChangeTimeDays("11") {}
ChangeCompany::ChangeCompany(QString name_company, QString coasts, QString name, QString surname, QString middle_name,QString changeareakm, QString changetimedays):
    MainBuildCompany(name_company,coasts,name,surname,middle_name), ChangeAreaKm(changeareakm), ChangeTimeDays(changetimedays) {}

void ChangeCompany::ChangeAreaKM(QString areakm) { ChangeAreaKm=areakm; }
void ChangeCompany::ChangeTimeDay(QString timeday) { ChangeTimeDays=timeday; }
QString ChangeCompany::GetAreaKM() {return ChangeAreaKm; }
QString ChangeCompany::GetTimeDays() { return ChangeTimeDays; }


Ответы (0 шт):