Motorcycles Inherit bicycles and motor vehicles

Source: Internet
Author: User

/**copyright (c) 2016, College of Computer Science, Yantai University *all rights reserved.* file name: main.cpp* Author: Guo Hui * Date of Completion: May 10, 2016 * version number: v1.0** Problem Description: Project-Motorcycle Succession Self Vehicles and motor vehicles. * Input Description: None. * Program output: information. */#include <iostream> #include <conio.h> #include <windows.h>using namespace Std;enum Vehiclestaus {  rest, running};       Vehicle status: Parking, travel class Vehicle//Vehicle class {Protected:int maxspeed;   Maximum speed int currentspeed;         Current speed int weight; Vehicle weight Vehiclestaus status; rest-parking status; running-travel status public:vehicle (int maxs, int w);  Constructor, when initially, the current speed is always 0 and in the parking state void start (); From rest state to running, the initial velocity is 1 void stop ();  Parking void speed_up () is allowed by the running state to rest at the current speed of less than 5 o'clock; Acceleration, call 1 times, speed plus 1 void slow_down (); Deceleration, call 1 times, speed minus 1, speed of 0 o'clock, parking}; vehicle::vehicle (int maxs, int w) {maxspeed=maxs;currentspeed=0;weight=w;status=rest;} void Vehicle::start () {status=running;currentspeed=1;} void Vehicle::stop () {if (currentspeed<5) {status=rest;currentspeed=0;}} void Vehicle::speed_up () {if (currentspeed<=maxspeed-1) currentspeed++;} void Vehicle::slow_down (){if (currentspeed>=1) currentspeed--;if (currentspeed==0) status=rest;} Class Bicycle:virtual public vehicle//(1) The virtual base class of the bicycle class is the vehicle class {protected:double height;//vehicle height public:bicycle (int maxs=10, in   T w=50, int h=0.7); Define constructor}; bicycle::bicycle (int maxs, int w, int h): Vehicle (Maxs, W), height (h) {}class motorcar:virtual public vehicle//(2) Virtual base class of motor vehicle class Also for vehicles class {Protected:int seatnum;//seat number int passengernum;//number of passengers public:motorcar (int maxs=150, int w=1500, int s=5, I   NT P=1);   Defines the constructor void Addpassenger (int p=1); To increase the number of passengers, overcrowding to refuse, when someone gets off, p is negative. Of course, there are at least 1 passengers (drivers) in the car. Only when the car stops steady can the guest. }; Motorcar::motorcar (int maxs, int w, int s, int p): Vehicle (Maxs, W), Seatnum (s), Passengernum (p) {}void motorcar:: Addpassenger (int p) {if (status==running) {cout<< "vehicle is driving, stop and get off!    "<<endl;        } else {passengernum+=p;            if (passengernum>seatnum) {passengernum=seatnum; cout<< "allegedly overcrowding, has been cleared to reach full!"        "<<endl; } else if (passengernum< 1) {passengernum=1; cout<< "Ask the driver not to leave the post!"        "<<endl;  }}}class motorcycle:public bicycle,public motorcar//(3) The base class of motorcycle class for bicycle class and motor vehicle class {public:motorcycle (int maxs=90, int w=100, int s=3, int p=1, int h=0.7);//define constructor void Show (); Show the running status of motorcycles}; motorcycle::motorcycle (int maxs, int w, int s, int p, int h): Vehicle (Maxs, W), Bicycle (Maxs, W, h), Motorcar (Maxs, W, S, p)    {}//shows the running status of the motorcycle void Motorcycle::show () {cout<< "status:";    if (status==rest) cout<< "parking; \ t";    else cout<< "marching; \ t"; cout<< "Speed:" <<currentSpeed<< "/" << maxspeed << "\ t current occupant:" <<passengerNum<< " /"<< seatnum << Endl;}    int main () {motorcycle m;    BOOL End=false;        while (!end) {cout<< "please operate: 1-Start 2-acceleration 3-deceleration 4-people get on the bus 5-someone gets off 6-stop 0-end" <<endl; Char keydown= _getch ();  _getch () returns the character read on the keyboard switch (keydown) {case ' 1 ': cout<< "The selected operation is 1-start \ t";          M.start ();        Break            Case ' 2 ': cout<< "The selected operation is 2-acceleration \ t";            M.speed_up ();        Break            Case ' 3 ': cout<< "The selected operation is 3-deceleration \ t";            M.slow_down ();        Break            Case ' 4 ': cout<< "The selected operation is 4-someone get on the bus \ T";            M.addpassenger ();        Break            Case ' 5 ': cout<< "The selected operation is 5-someone gets off \ t";            M.addpassenger (-1);        Break            Case ' 6 ': cout<< "The selected operation is 6-stop \ T";            M.stop ();        Break            Case ' 0 ': end=true;        Break        } m.show ();        cout<<endl;  Sleep (200); To include header file <windows.h>} return 0;}
Operation Result:


Motorcycles Inherit bicycles and motor vehicles

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.