1 Class Vehicle #include #define N 10../.
2 Class Vehicle class vehicle { public: float speed; char colour[N+1]; char make[N+1];
3 Class Vehicle vehicle(); void move(){cout << "Moving!...\n";} void stop(){cout << "Stopped!...\n";} void showAttributes(); void setSpeed(float theSpeed) {speed = theSpeed;} float getSpeed() {return speed;} };
4 Class Vehicle vehicle::vehicle() { speed = 0.0; cout << "Enter colour of the vehicle :"; cin.getline(colour, N); cout << "\n"; cout << "Enter make of the vehicle :"; cin.getline(make, N); cout << "\n"; }
5 Class Vehicle void vehicle::showAttributes() { cout << "This vehicle is a " << colour << " " << make << " with max speed of " << getSpeed() << " mph " << "\n"; }
6 Class Vehicle class PersonPoweredVehicle:public vehicle { protected: int wheels; };
7 Class Vehicle class Bicycle:public PersonPoweredVehicle { public: int gear; };
8 Class Vehicle class EnginePoweredVehicle:public vehicle{ protected: bool EngineState; public: EnginePoweredVehicle(){EngineState = false;} void StartEngine(); void StopEngine(); void move();};
9 Class Vehicle void EnginePoweredVehicle::StartEngine() { if(EngineState == false) { cout << "The engine is now on!...\n"; EngineState = true; }
10 Class Vehicle else cout << "The engine is already on!...\n"; }
11 Class Vehicle void EnginePoweredVehicle::StopEngine(){ if(EngineState == false) cout << "The engine is off anyway!...\n"; else{ stop(); EngineState = false; cout << "The engine is now off!...\n";} }
12 Class Vehicle void EnginePoweredVehicle::move() { if(EngineState == false) StartEngine(); cout << "Moving!...\n"; }
13 Class Vehicle class TwoWheeledEPV:public EnginePoweredVehicle { };
14 Class Vehicle class FourWheeledEPV:public EnginePoweredVehicle { };
15 Class Vehicle class Motorcycle:public TwoWheeledEPV { protected: int passenger; public: Motorcycle(){passenger = 1;} int getPassenger() const {return passenger;} };
16 Class Vehicle class Scooter:public TwoWheeledEPV { protected: int passenger; public: Scooter(){passenger = 2;} int getPassenger() const {return passenger;} };
17 Class Vehicle class Moped:public TwoWheeledEPV { protected: int passenger; public: Moped(){passenger = 2;} int getPassenger() const {return passenger;} };
18 Class Vehicle main() { Motorcycle M; M.setSpeed(150); cout << "That takes " << M.getPassenger() << " passengers\n"; M.showAttributes();
19 Class Vehicle M.move(); M.StartEngine(); M.StopEngine(); return 0; }