所以這是我有一個很大的任務的一小部分,我只是不確定這個語法。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
類,因此,它會先調用「車輛超載運營效果」,然後什麼結果我告訴<<
操作員從派生類打印...所以,在這裏就是我的意思:
我需要它在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
在運營商<<你寫信給車輛COUT。你應該寫入osObject。 – user763305