Итак, это небольшая часть большого задания, которое у меня есть, я просто не уверен в синтаксисе для этого.
У меня есть базовый класс 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
, чтобы он сначала вызывал "результаты перегруженного оператора Vehicle", а затем результаты того, что я скажу оператору <<
вывести из производного класса... Итак, вот что я имею в виду:
Мне нужно, чтобы в классе 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