/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作    者:王蕊*完成日期:2016年5月10日*版 本 号:v1.0**问题描述:自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,根据各类间关系的描述,补全下面程序段中空缺的代码
*/
#include <iostream>
#include<conio.h>
#include <windows.h>
using namespace std;
enum vehicleStaus {rest, running};  //车辆状态:泊车、行进
class vehicle //车辆类
{
protected:int maxSpeed;       //最大车速int currentSpeed;   //当前速度int weight;         //车重vehicleStaus status; //rest-泊车状态;running-行进状态
public:vehicle(int maxS, int w); //构造函数,初始时,当前速度总为0且处在停车状态void start();  //由rest状态到running, 初速为1void stop(); //由running状态到rest, 当前速度小于5时,才允许停车void speed_up();  //加速,调用1次,速度加1void slow_down(); //减速,调用1次,速度减1,速度为0时,停车
};
class bicycle :virtual public Vehicle                                 //(1)自行车类的虚基类为车辆类
{
protected:double height; //车高
public:bicycle(int maxS=10, int w=50, int h=0.7);   //定义构造函数
};
class motorcar : virtual public Vehicle                               //(2)机动车类的虚基类也为车辆类
{
protected:int seatNum; //座位数int passengerNum; //乘客人数
public:motorcar(int maxS=150, int w=1500, int s=5, int p=1);   //定义构造函数void addPassenger(int p=1);   //搭载乘客,超员要拒载,有人下车时,p为负数。当然车上乘客至少有1个(司机)。上下车时要保证安全……
};
class motorcycle: public bicycle, public motorcar                    //(3)摩托车类的基类为自行车类和机动车类
{
public:Motorcycle(int maxS=90, int w=100, int s=3, int p=1, int h=0.7);   //定义构造函数void show(); //显示摩托车的运行状态
};
int main( )
{motorcycle m;bool end=false;while (!end){cout<<"请操作:1-启动  2-加速  3-减速  4-有人上车  5-有人下车  6-停车 0-结束"<<endl;char keydown= _getch(); //_getch()返回键盘上读取的字符switch(keydown){case '1':cout<<"选中的操作是1-启动\t";m.start();break;case '2':cout<<"选中的操作是2-加速\t";m.speed_up();break;case '3':cout<<"选中的操作是3-减速\t";m.slow_down();break;case '4':cout<<"选中的操作是4-有人上车\t";m.addPassenger();break;case '5':cout<<"选中的操作是5-有人下车\t";m.addPassenger(-1);break;case '6':cout<<"选中的操作是6-停车\t";m.stop();break;case '0':end=true;break;}m.show();cout<<endl;Sleep(200);  //要包含头文件<windows.h>}return 0;
}

第十、十一周项目五 - 摩托车继承自行车和机动车相关推荐

  1. 第12周项目2—摩托车继承自行车和机动车

    问题及代码: /** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作 者:李盈盈* 完成日期:2015年 0 ...

  2. C++实践参考——摩托车继承自行车和机动车

    [项目 - 摩托车继承自行车和机动车] 在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,如图所示. 下载可执行文件链 ...

  3. 第十二周项目五-----迷宫问题之图深度优先遍历解法

     烟台大学计算机与控制工程学院 作者:孙潇 时间:2015年12月15日 问题描述:[项目 - 迷宫问题之图深度优先遍历解法]   设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题.   ( ...

  4. 第十一周——摩托车继承自行车和机动车 (1)

    [cpp] vi /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:李德彪 *完成日期:2015年5月 ...

  5. 第十一章——摩托车继承自行车和机动车 (2)

    /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:李德彪 *完成日期:2015年5月16日 *版本号: ...

  6. 摩托车继承自行车和机动车

    /**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者: 武聪*完成日期:2016年5月26日*版本号:v1.0** ...

  7. 【信息系统项目管理师】第九十十一章 项目成本质量资源管理

    第九十十一章 项目成本质量资源管理 第九章 项目成本管理 1.项目成本管理的过程有哪些 规划成本管理,成本估算,成本预算,成本控制. 成本管理计划是项目管理计划的组成部分,描述将如何规划,安排和控制项 ...

  8. 第十二周项目4-利用遍历思想求解图问题(6-7)

    /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第十二周项目4-利用遍历思想求解图问题(6-7) 作 者:佟兴锋 完成日期: ...

  9. 第十周第十一周上机实践项目-项目5-摩托车继承自行车和机动车

    /*copyright(c)2016.烟台大学计算机学院* All rights reserved,* 文件名称:text.Cpp* 作者:刘涛* 完成日期:2016年5月9日* 版本号:vc++6. ...

最新文章

  1. 06年做的一个配置,从net130转过来的
  2. python同步打乱
  3. 比较两个文件夹图像相似度
  4. A Famous Music Composer
  5. NLP word2vec 计算优化
  6. 基于owncloud构建私有云储存网盘
  7. 200个模块,怎么用有线的方式进行组网通信
  8. cacti无密码登录
  9. 我不是bug神(JVM问题排查)
  10. Android学习--写一个发送短信的apk,注意布局文件的处理过程!!!
  11. php中crypt怎么还原,PHP crypt() 函数 - PHP 教程 - 菜鸟学堂-脚本之家
  12. 板凳——————————————————c++(104)
  13. 看董事长陈睿11周年演讲,一起了解B站未来的三个使命吧
  14. Android Q播放器(编译报错处理)
  15. c 循序结构程序设计
  16. OpenGL入门教程之 深入理解
  17. AcWing《蓝桥杯集训·每日一题》—— 3777 砖块
  18. CocosCreator 2.4.1版本 打包微信抖音小游戏CDN配置问题
  19. 5款值得推荐的工具和软件,让你的工作效率翻倍
  20. fastboot烧录镜像--VTSGSI镜像替换

热门文章

  1. opencv-contrib配置过程
  2. gen_cam_par_area_scan_polynomial算子说明
  3. 组合框CComboBox响应函数
  4. 热点账户问题和常用解决方案【上】
  5. layer.js 弹窗组件API文档
  6. webgl之3d动画
  7. bzoj4385 POJ2015 Wilcze doły
  8. 基于matlab的退化图像复原(二)------逆滤波复原
  9. 转:在windows通过Xrdp软件远程桌面连接Fedora
  10. Android的Activity屏幕切换动画(一)-左右滑动切换