Итак, это небольшая часть большого задания, которое у меня есть, я просто не уверен в синтаксисе для этого.
У меня есть базовый класс с именем Vehicle, который имеет следующие элементы: int fuelAmt и int fuelUsage)
(Я использую пространство имен std)
Я перегрузил оператор << следующим образом:
ostream& operator<<(ostream& osObject, const Vehicle& myVehicle)
{
cout << "Fuel Usage Rate: " << myVehicle.fuelUsage << endl
<< "Fuel Amount: " << myVehicle.fuelAmt << endl;
return osObject;
}
Я тогда называю это следующим образом:
cout << Vehicle;
Результат (пример):
Fuel Usage Rate: 10;
Fuel Amount: 50;
У меня также есть класс Airplane, который происходит из класса Vehicle, он вводит новый член: int numEngines.
Как я могу перегрузить оператор << в классе Airplane, чтобы он сначала вызывал "результаты работы с перегрузкой транспортного средства", а затем результаты того, что я говорю оператору << для печати с производный класс... Итак, вот что я имею в виду:
Мне нужно, чтобы он функционировал следующим образом в классе Airplane:
ostream& operator<<(ostream& osObject, const Airplane& myAirplane)
{
//First print the Fuel Usage rate and Fuel amount by calling
//the Base class overloaded << function
//then
cout << "Number of Engines: " << myAirplane.numEngines << endl;
return osObject;
}
Как я могу инициировать выполнение базового класса вывода значений его членов в этом производном классе?
Это что-то вроде изменения заголовка? Вот так:
ostream& operator<<(ostream& osObject, const Airplane& myAirplane): operator<<Vehicle