第十二周任務三

2021-06-06 10:24:36 字數 2713 閱讀 2674

源程式:

/*(檔案注釋頭部開始) 

*程式的版權和版本宣告部分

*檔名稱:電單車類

*作 者:2011級計114-3劉楊

*完成日期:2023年5月9號

*版本號:vc

* 對任務及求解方法的描述部分

* 輸入描術:

* 問題描述:在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和

機動車類,類之間均為公有繼承。

(1)根據上面各類間關係的描述,補全下面程式段中空缺的**

(2)實現程式中宣告的成員函式,注意相應操作中的動作發生的條件不能滿足時應給出提示。

(3)執行程式,享受開摩托的過程。(bb平台上提供了乙個可執行檔案,可以先執行再程式設計。不必申請駕照,這個電單車很安全。)

(4)在報告中回答問題:本題中使用虛基類的好處是什麼?

* 程式輸出:輸出電單車的執行狀態,速度,和乘客人員

* 程式頭部的注釋結束

*/

#include #include#include using namespace std;

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

class vehicle //車輛類

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

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

;class motorcycle: public bicycle,public motorcar//(3)電單車類的基類為自行車類和機動車類

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

vehicle::vehicle(int maxs, int w)

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

void vehicle::start()

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

void vehicle::stop()

else

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

void vehicle::speed_up()

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

void vehicle::slow_down()

//定義自行車類建構函式

bicycle::bicycle(int maxs, int w, int h):vehicle(maxs, w),height(h){}

//定義機動車類建構函式

motorcar::motorcar(int maxs, int w, int s, int p):vehicle(maxs, w),seatnum(s),passengernum(p){}

//搭載乘客,超員要拒載,有人下車時,p為負數。當然車上乘客至少有1個(司機)。上下車時要保證安全……

void motorcar::addpassenger(int p )

//定義電單車類建構函式

motorcycle::motorcycle(int maxs, int w, int s, int p, int h):vehicle(maxs, w),bicycle(maxs, w, h),motorcar(maxs, w, s, p){}

//顯示電單車的執行狀態

void motorcycle::show()

if(rest) }

int main( )

m.show();

cout<}

system("pause");

return 0;

}

實驗結果:

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

操作(啟動)      狀態:行進    車速:1/90    當前成員:1/4

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

操作(加速)      狀態:行進    車速:2/90    當前成員:1/4

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

操作(減速)      狀態:行進    車速:1/90    當前成員:1/4

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

操作(有人上車)  電單車在行駛中,不能上下車狀態:行進    車速:1/90    當前成員:

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

操作(停車)      狀態:行進    車速:0/90    當前成員:1/4

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

操作(有人上車)  狀態:行進    車速:0/90    當前成員:2/4

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

操作(有人下車)  狀態:行進    車速:0/90    當前成員:1/4

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

狀態:行進    車速:0/90    當前成員:1/4

請按任意鍵繼續. . .

第十二周 任務三

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 練習使用虛基類 作 者 薛廣晨 完成日期 2012 年 4 月 27 日 版 本 號 x1.0 對任務及求解方法的描述部分 輸入描述 練習使用虛基類 問題描述 任務3 在下面一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單...

第十二周任務(三)

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 實現程式中宣告的成員函式,注意相應操作中的動作發生的條件不能滿足時應給出提示。作 者 齊豔紅 完成日期 2011年 5月 8日 版 本 號 對任務及求解方法的描述部分 根據上面各類間關係的描述,補全下面程式段中空缺的 問題描述 執行程式,享受開摩托...

第十二周 任務三

include include include includeusing namespace std enum vehiclestaus 車輛狀態 泊車 行進 class vehicle 車輛類 int get currentspeed int get weight int get status v...