C++, Как вызвать перегруженный оператор извлечения базового класса в производном классе?

Итак, это небольшая часть большого задания, которое у меня есть, я просто не уверен в синтаксисе для этого.

У меня есть базовый класс 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
14
задан Sergey 13 December 2016 в 17:45
поделиться