第12周 專案2 電單車繼承自行車和機動車

2021-07-02 17:23:54 字數 3743 閱讀 5635

問題描述:

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

motorcar.exe,先執行再程式設計。不必申請駕照,這個電單車很安全。)

(4)在報告中,請用自己的話寫清楚使用虛基類解決什麼問題?

#include #include#include using namespace std;

enum vehiclestaus ; //車輛狀態:泊車、行進

class vehicle //車輛類

;class bicycle :_____(1)_________//(1)自行車類的虛基類為車輛類

;class motorcar : ______(2)__________//(2)機動車類的虛基類也為車輛類

;class motorcycle: ______(3)_________ //(3)電單車類的基類為自行車類和機動車類

;int main( )

return 0;

}

參考執行結果如下:

請操作:1-啟動  2-加速  3-減速  4-有人上車  5-有人下車  6-停車 0-結束

選中的操作是1-啟動 狀態:行進; 車速:1 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:2 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:3 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是4-有人上車 車輛正在行駛,停車後再上下車!

狀態:行進; 車速:3 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是5-有人下車 車輛正在行駛,停車後再上下車!

狀態:行進; 車速:3 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是6-停車 狀態:泊車; 車速:0 / 90 當前乘員:1 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是4-有人上車 狀態:泊車; 車速:0 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是1-啟動 狀態:行進; 車速:1 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:2 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:3 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:4 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:5 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是2-加速 狀態:行進; 車速:6 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是6-停車 車速太快!先減速再停車……

狀態:行進; 車速:6 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是3-減速 狀態:行進; 車速:5 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是3-減速 狀態:行進; 車速:4 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

選中的操作是6-停車 狀態:泊車; 車速:0 / 90 當前乘員:2 / 3

請操作:1-啟動 2-加速 3-減速 4-有人上車 5-有人下車 6-停車 0-結束

狀態:泊車; 車速:0 / 90 當前乘員:2 / 3

process returned 0 (0x0) execution time : 73.297 s

press any key to continue.

**:

#include #include#include using namespace std;

enum vehiclestaus ; //車輛狀態:泊車、行進

class vehicle //車輛類

//建構函式,初始時,當前速度總為0且處在停車狀態

void start()

else cout<

}//由rest狀態到running, 初速為1

void stop()

else cout<

}//由running狀態到rest, 當前速度小於5時,才允許停車

void speed_up()

//加速,呼叫1次,速度加1

void slow_down()

//減速,呼叫1次,速度減1,速度為0時,停車

};class bicycle :virtual public vehicle//(1)自行車類的虛基類為車輛類

//定義建構函式

};class motorcar : virtual public vehicle//(2)機動車類的虛基類也為車輛類

//定義建構函式

void addpassenger(int p=1)

return 0;

}

執行結果:

第12周專案2 電單車繼承自行車和機動車

問題及 檔名稱 test.cpp 作 者 李盈盈 完成日期 2015年 05 月 24 日 版 本 號 v1.0 問題描述 在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和機動車類,類之間均為公有繼承。輸入描述 無 程式輸出 按要求輸出 incl...

第12周 專案2 電單車繼承自行車和機動車

問題及 all right reserved,檔名 test.cpp 完成日期 2015年5月31日 版本號 v1.0 問題描述 在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和機動車類,類之間均為公有繼承,如圖所示。1 根據上面各類間關係的描述...

第10 11周專案5 電單車繼承自行車和機動車

檔名稱 第10 11周專案5 電單車繼承自行車和機動車 完成日期 2016.5.28 版本號 v1.0 問題描述 1 根據上面各類間關係的描述,補全下面程式段中空缺的 2 實現程式中宣告的成員函式,注意相應操作中的動作發生的條件不能滿足時應給出提示。4 在報告中,請用自己的話寫清楚使用虛基類解決什麼...