機動車類(繼承和派生)

2021-07-22 06:07:42 字數 931 閱讀 2693

在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和機動車類,類之間均為公有繼承,如圖所示。

(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...