Как правильно наследовать от базового класса?
У меня есть класс называемый Воздушное судно Я хотел бы установить его так, чтобы он имел производный класс называемый fixedWing. Тогда я хотел бы, чтобы fixedWing класс, чтобы иметь 3 подклассы; Первый вызванный Планер, второй называется Реактивный самолет и третий позвал: Пропеллеры.
Я получаю следующие ошибки:
fixedwing.h(11): ошибка C2504: 'самолет': базовый класс не определен
fixedwing.h(35): предупреждение C4584: 'пропеллер': базовый класс 'FixedWing' уже является базовым классом 'Jet'
fixedwing.h(10): Примечание: см. объявление "FixedWing"
fixedwing.h(26): Примечание: см. объявление 'Jet'
Что я уже пробовал:
Самолета.ч
#pragma once #include "stdafx.h" #include "FixedWing.h" #include <string> #include <iostream> #include <fstream> using namespace std; class Aircraft; class Aircraft{ int regNo; string manufacturer; string serialNo; string productionDate; string owner; string annualInspection; int minSpeed; int maxSpeed; int maxClimbRate; public: Aircraft(); // default construct Aircraft(int); };
FixedWing.ч
#pragma once #include "stdafx.h" #include "Aircraft.h" #include <string> using namespace std; // Fixed Wing class derived from Aircraft class FixedWing : public Aircraft { public: FixedWing(); //FixedWing(int regNo); }; // (sub#1) Gliders to fixed wing class Glider : public FixedWing { public: Glider(); private: }; // (sub#2) Jets to fixed wing class Jet : public FixedWing { public: private: int hoursInOperation; }; // (sub#3) Propellers to fixed wing class Propeller : Jet,FixedWing { public: private: int hoursInOperation; };
Я чувствую, что решение смотрит мне прямо в лицо, но я просто не могу его найти. Может ли кто-нибудь помочь мне?
Заранее большое спасибо!