* 對任務及求解方法的描述部分
* 問題描述:在一段類的定義中,自行車類的虛基類為車輛類,機動車類的虛基類也為車輛類,電單車類的基類為自行車類和機動車類,類之間均為公有繼承。
(1)根據上面各類間關係的描述,補全下面程式段中空缺的**
(2)實現程式中宣告的成員函式,注意相應操作中的動作發生的條件不能滿足時應給出提示。
(3)執行程式,享受開摩托的過程
* 程式頭部的注釋結束*/
源程式:
#include #include#include using namespace std;
enum vehiclestaus ; //車輛狀態:泊車、行進
class vehicle //車輛類
//建構函式,初始時,當前速度總為0且處在停車狀態
void start(); //由rest狀態到running, 初速為1
void stop(); //由running狀態到rest, 當前速度小於5時,才允許停車
void speed_up(); //加速,呼叫1次,速度加1
void slow_down(); //減速,呼叫1次,速度減1,速度為0時,停車
};void vehicle :: start() //由rest狀態到running, 初速為1
void vehicle :: stop() //由running狀態到rest, 當前速度小於5時,才允許停車
}void vehicle :: speed_up() //加速,呼叫1次,速度加1
else if(currentspeed >= maxspeed)
else }
void vehicle :: slow_down() //減速,呼叫1次,速度減1,速度為0時,停車
else if(currentspeed - 1 < 0)
else }
class bicycle : virtual public vehicle//(1)自行車類的虛基類為車輛類
//定義建構函式
};class motorcar : virtual public vehicle//(2)機動車類的虛基類也為車輛類
//定義建構函式
void addpassenger(int p=1); //搭載乘客,超員要拒載,有人下車時,p為負數。當然車上乘客至少有1個(司機)。上下車時要保證安全……
};void motorcar :: addpassenger(int p)//搭載乘客,超員要拒載,有人下車時,p為負數。當然車上乘客至少有1個(司機)。上下車時要保證安全……
else if(passengernum + p <= 0)
else
}}class motorcycle : public bicycle, public motorcar //(3)電單車類的基類為自行車類和機動車類
//定義建構函式
void show(); //顯示電單車的執行狀態
};void motorcycle :: show() //顯示電單車的執行狀態
int main( )
m.show();
cout<}
system("pause");
return 0;
}
2012C 程式設計實驗報告 6 2
作 者 王琳 完成日期 2012年 3 月26日 版 本 號 6 2 對任務及求解方法的描述部分 輸入描述 指標,析構函式的運用 問題描述 程式輸出 程式頭部的注釋結束 源程式 a.用指標訪問物件 include using namespace std class a a int aa 定義建構函式...
2012C 程式設計實驗報告 9 3
對任務及求解方法的描述部分 問題描述 接第8周任務3,定義分數類中 和 運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。程式頭部的注釋結束 源程式 include using namespace std class cfraction void simplify ...
2012C 程式設計實驗報告 8 3
對任務及求解方法的描述部分 問題描述 實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除 運算後再化簡 求反 比較 6種關係 的運算。程式頭部的注釋結束 源程式 include using namespace std class cfraction void simplify void di...