Using Inheritance to Create a Derived Class in C++ In this lab, you create a derived class from a base class, and then use the derived class in a C++ program. The program should create two Motorcycle objects, and then set the Motorcycle’s speed, accelerate the Motorcycle object, and check its sidecar status. Instructions Ensure the file named Motorcycle.cpp is open in your editor. Create the Motorcycle class by deriving it from the Vehicle class. Use a public derivation. In the Motorcycle class, create a private attribute named sidecar. The sidecar attribute should be data type bool. Write a public set method to set the value for sidecar. Write a public get method to retrieve the value of sidecar. Write a public accelerate() method. This method overrides the accelerate() method inherited from the Vehicle class. Change the message in the accelerate() method so the following is displayed when the Motorcycle tries to accelerate beyond its maximum speed: "This motorcycle cannot go that fast". Open the file named MyMotorcycleClassProgram.cpp. In the MyMotorcycleClassProgram, create two Motorcycle objects named motorcycleOne and motorcycleTwo. Set the sidecar value of motorcycleOne to true and the sidecar value of motorcycleTwo to false. Set motorcycleOne’s maximum speed to 90 and motorcycleTwo’s maximum speed to 85. Set motorcycleOne’s current speed to 65 and motorcycleTwo’s current speed to 60. Accelerate motorcycleOne by 30 mph, and accelerate motorcycleTwo by 20 mph. Print the current speed of motorcycleOne and motorcycleTwo. Determine if motorcycleOne and motorcycleTwo have sidecars. If yes, display the following: This motorcycle has a side car. If not, display the following: This motorcycle does not have a side car. Execute the program by clicking the Run button at the bottom of the screen. Use the Given Codes in each file: First File: Mortorcycle.cpp // Motorcycle.cpp #include "Vehicle.cpp" #include  using namespace std;  // Write the Motorcycle class here   Second File: MyMotorcycleClassProgram.cpp. // This program uses the programmer-defined Motorcycle class.  #include "Motorcycle.cpp" #include  using namespace std;  int main() {    // Create Motorcyle objects here     // Create a boolean variable for side car status            // Set side car status here    // Set maximum speed here    // Set current speed here    // Accelerate motorcyles here    // Display current speed here        // Determine side car status and display results.         return 0; }   Third File: Vehicle.cpp // Vehicle.cpp #include  using namespace std;  class Vehicle {    public:        void setSpeed(double);       double getSpeed();       void accelerate(double);       void setFuelCapacity(double);       double getFuelCapacity();       void setMaxSpeed(double);       double getMaxSpeed();    private:        double fuelCapacity;       double maxSpeed;       double currentSpeed; };  void Vehicle::setSpeed(double speed) {    currentSpeed = speed;    return; } double Vehicle::getSpeed() {    return currentSpeed; } void Vehicle::accelerate(double mph) {    if(currentSpeed + mph < maxSpeed)       currentSpeed = currentSpeed + mph;    else       cout << "This vehicle cannot go that fast." << endl;  } void Vehicle::setFuelCapacity(double fuel) {    fuelCapacity = fuel; } double Vehicle::getFuelCapacity() {    return fuelCapacity; } void Vehicle::setMaxSpeed(double max) {    maxSpeed = max; } double Vehicle::getMaxSpeed() {    return maxSpeed; }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Using Inheritance to Create a Derived Class in C++

In this lab, you create a derived class from a base class, and then use the derived class in a C++ program. The program should create two Motorcycle objects, and then set the Motorcycle’s speed, accelerate the Motorcycle object, and check its sidecar status.

Instructions

  1. Ensure the file named Motorcycle.cpp is open in your editor.
  2. Create the Motorcycle class by deriving it from the Vehicle class. Use a public derivation.
  3. In the Motorcycle class, create a private attribute named sidecar. The sidecar attribute should be data type bool.
  4. Write a public set method to set the value for sidecar.
  5. Write a public get method to retrieve the value of sidecar.
  6. Write a public accelerate() method. This method overrides the accelerate() method inherited from the Vehicle class. Change the message in the accelerate() method so the following is displayed when the Motorcycle tries to accelerate beyond its maximum speed: "This motorcycle cannot go that fast".
  7. Open the file named MyMotorcycleClassProgram.cpp.
  8. In the MyMotorcycleClassProgram, create two Motorcycle objects named motorcycleOne and motorcycleTwo.
  9. Set the sidecar value of motorcycleOne to true and the sidecar value of motorcycleTwo to false.
  10. Set motorcycleOne’s maximum speed to 90 and motorcycleTwo’s maximum speed to 85.
  11. Set motorcycleOne’s current speed to 65 and motorcycleTwo’s current speed to 60.
  12. Accelerate motorcycleOne by 30 mph, and accelerate motorcycleTwo by 20 mph.
  13. Print the current speed of motorcycleOne and motorcycleTwo.
  14. Determine if motorcycleOne and motorcycleTwo have sidecars. If yes, display the following: This motorcycle has a side car. If not, display the following: This motorcycle does not have a side car.
  15. Execute the program by clicking the Run button at the bottom of the screen.

Use the Given Codes in each file:

First File: Mortorcycle.cpp
// Motorcycle.cpp
#include "Vehicle.cpp"
#include <iostream>
using namespace std; 

// Write the Motorcycle class here
 
Second File: MyMotorcycleClassProgram.cpp.
// This program uses the programmer-defined Motorcycle class. 
#include "Motorcycle.cpp"
#include <iostream>
using namespace std; 
int main()
{
   // Create Motorcyle objects here 

   // Create a boolean variable for side car status
   
   
   // Set side car status here

   // Set maximum speed here

   // Set current speed here

   // Accelerate motorcyles here

   // Display current speed here
   
   // Determine side car status and display results. 
   
   return 0;
}
 
Third File: Vehicle.cpp
// Vehicle.cpp
#include <iostream>
using namespace std; 
class Vehicle
{
   public: 
      void setSpeed(double);
      double getSpeed();
      void accelerate(double);
      void setFuelCapacity(double);
      double getFuelCapacity();
      void setMaxSpeed(double);
      double getMaxSpeed();
   private: 
      double fuelCapacity;
      double maxSpeed;
      double currentSpeed;
}; 

void Vehicle::setSpeed(double speed)
{
   currentSpeed = speed;
   return;
}

double Vehicle::getSpeed()
{
   return currentSpeed;
}

void Vehicle::accelerate(double mph)
{
   if(currentSpeed + mph < maxSpeed)
      currentSpeed = currentSpeed + mph;
   else
      cout << "This vehicle cannot go that fast." << endl; 
}

void Vehicle::setFuelCapacity(double fuel)
{
   fuelCapacity = fuel;
}

double Vehicle::getFuelCapacity()
{
   return fuelCapacity;
}

void Vehicle::setMaxSpeed(double max)
{
   maxSpeed = max;
}

double Vehicle::getMaxSpeed()
{
   return maxSpeed;
}
 
 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY