在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和機動車類,類之間均為公有繼承,如圖所示。
(1)根據上面各類間關係的描述,補全下面程式段中空缺的**;
(2)實現程式中宣告的成員函式,注意相應操作中的動作發生的條件不能滿足時應給出提示。
(3)執行程式,享受開摩托的過程。
(4)在報告中,請用自己的話寫清楚使用虛基類解決什麼問題?
#include #include#include using namespace std;
enum vehiclestaus ; //車輛狀態:泊車、行進
class vehicle //車輛類
;vehicle::vehicle(int maxs,int w):maxspeed(maxs),currentspeed(0),weight(w),status(rest){}
void vehicle::start()
else
else
return 0;
}
執行結果:
虛基類能夠很好的解決程式的二義性問題,在這裡,motorcar和bicycle類都是繼承於vehicle類,而在最後的motorcycle又繼承於motorcar和bicycle類,他們又是由同乙個基類派生而來,導致最後不知道呼叫哪乙個基類的成員變數和函式,如果在子類的基類前面加上virtual,就能夠解決這個問題了。
類與物件 實驗一 機動車
上機實踐4 類與物件 實驗1 機動車 vehicle 程式執行入口 public class user 實現相應函式 public class vehicle 定義了speeddown方法,體現機動車有減速功能 void speeddown int d 定義了getpower方法,用於得到機動車的功...
電單車繼承自行車和機動車
include include include using namespace std enum vehiclestaus 車輛狀態 泊車 行進 class vehicle 車輛類 建構函式,初始時,當前速度總為0且處在停車狀態 void start 由rest狀態到running,初速為1 voi...
電單車繼承自行車和機動車
檔名稱 main.cpp 作 者 郭輝 版 本 號 v1.0 問題描述 專案 電單車繼承自行車和機動車。輸入描述 無。程式輸出 資訊。include include include using namespace std enum vehiclestaus 車輛狀態 泊車 行進 class vehi...