Create the .h file of this .cpp file in c++ #include #include using namespace std; #include "Passenger.h" #include "Airport.h" const int MAX_PAX_PER_FLIGHT = 37; class Flight { public: Flight(); Flight(Airport, Airport, int); void Initialize(Airport, Airport, int); // Set origin, destination, available seats void AddPax(Passenger); // Add a Passenger to PaxList, reduce seats available void ResetFlight(); // Clears Passenger list, empties seats private: string origin; string destination; Passenger* PaxList[MAX_PAX_PER_FLIGHT]; int availableSeats; int numPax; }; passenger.h file #include using namespace std; int GetNextID(); class Passenger { public: Passenger(); // New passenger, assigning ID using GetNextID Passenger(int, string, string); // ID, origin, destination void Initialize(int, string, string); // ID, origin, destination int GetID() {return ID;} string GetOrigin(){ return origin;} string GetDest() {return destination;} private: int ID; // A unique ID number for the passenger string origin; //Airport identifier string destination; // Airport identifier int GetNextID(); // Assigns ID's sequentially, starting with 1001 }; Passenger::Passenger(){ ID = GetNextID(); origin = ""; destination = ""; } Passenger::Passenger(int _ID, string _origin, string _destination){ ID = _ID; origin = _origin; destination = _destination; } void Passenger::Initialize(int _ID, string _origin, string _destination){ ID = _ID; origin = _origin; destination = _destination; } // Assigns ID's sequentially, starting with 1001 int Passenger::GetNextID(){ static int number = 1000; number++; return number; } airport.h file #include #include #include using namespace std; class Airport { public: Airport(){cout << "Creating blank airport. ";}; Airport(string newID){ IATA = newID; } Airport(Airport&); // copy constructor void Initialize(string newID, string newCity, long double newLat, long double newLong){ IATA = std::move(newID); city = std::move(newCity); latitude = newLat; longitude = newLong; } // ostream& operator << (ostream&); // ofstream& operator << (ofstream&); bool operator == (Airport); long double GetLat() {return latitude;} long double GetLong(){ return longitude;} string GetCity(){ return city;} string GetID() {return IATA;} void Print(); private: string IATA; string city; long double latitude, longitude; }; Airport::Airport(Airport& a) { IATA = a.IATA; city = a.city; latitude = a.latitude; longitude = a.longitude; } bool Airport::operator == (Airport a) { if(IATA == a.IATA && city == a.city && latitude == a.latitude && longitude == a.longitude) return true; else return false; } void Airport::Print() { cout << "IATA: " << IATA << endl; cout << "City: " << city << endl; cout << "Latitude: " << latitude << endl; cout << "Longitude: " << longitude << endl; }
Create the .h file of this .cpp file in c++
#include <string>
#include <fstream>
using namespace std;
#include "Passenger.h"
#include "Airport.h"
const int MAX_PAX_PER_FLIGHT = 37;
class Flight {
public:
Flight();
Flight(Airport, Airport, int);
void Initialize(Airport, Airport, int); // Set origin, destination, available seats
void AddPax(Passenger); // Add a Passenger to PaxList, reduce seats available
void ResetFlight(); // Clears Passenger list, empties seats
private:
string origin;
string destination;
Passenger* PaxList[MAX_PAX_PER_FLIGHT];
int availableSeats;
int numPax;
};
passenger.h file
#include <string>
using namespace std;
int GetNextID();
class Passenger {
public:
Passenger(); // New passenger, assigning ID using GetNextID
Passenger(int, string, string); // ID, origin, destination
void Initialize(int, string, string); // ID, origin, destination
int GetID() {return ID;}
string GetOrigin(){ return origin;}
string GetDest() {return destination;}
private:
int ID; // A unique ID number for the passenger
string origin; //Airport identifier
string destination; // Airport identifier
int GetNextID(); // Assigns ID's sequentially, starting with 1001
};
Passenger::Passenger(){
ID = GetNextID();
origin = "";
destination = "";
}
Passenger::Passenger(int _ID, string _origin, string _destination){
ID = _ID;
origin = _origin;
destination = _destination;
}
void Passenger::Initialize(int _ID, string _origin, string _destination){
ID = _ID;
origin = _origin;
destination = _destination;
}
// Assigns ID's sequentially, starting with 1001
int Passenger::GetNextID(){
static int number = 1000;
number++;
return number;
}
airport.h file
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
class Airport {
public:
Airport(){cout << "Creating blank airport. ";};
Airport(string newID){ IATA = newID; }
Airport(Airport&); // copy constructor
void Initialize(string newID, string newCity, long double newLat, long double newLong){
IATA = std::move(newID);
city = std::move(newCity);
latitude = newLat;
longitude = newLong;
}
// ostream& operator << (ostream&);
// ofstream& operator << (ofstream&);
bool operator == (Airport);
long double GetLat() {return latitude;}
long double GetLong(){ return longitude;}
string GetCity(){ return city;}
string GetID() {return IATA;}
void Print();
private:
string IATA;
string city;
long double latitude, longitude;
};
Airport::Airport(Airport& a) {
IATA = a.IATA;
city = a.city;
latitude = a.latitude;
longitude = a.longitude;
}
bool Airport::operator == (Airport a)
{
if(IATA == a.IATA && city == a.city && latitude == a.latitude && longitude == a.longitude)
return true;
else
return false;
}
void Airport::Print()
{
cout << "IATA: " << IATA << endl;
cout << "City: " << city << endl;
cout << "Latitude: " << latitude << endl;
cout << "Longitude: " << longitude << endl;
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps