Question: Please i need help with this. Thanks so much! Objective: The objective of this homework is to create a set of subclasses and a base

Please i need help with this. Thanks so much!

Objective:

The objective of this homework is to create a set of subclasses and a base class.

Task 1: Download the following files and view the demo-code from class.

Download the starter code here: https://github.com/fuzzpault/UIndy-CSCI156-2016-Summer/tree/master/Solutions-Starters/HW06-Vehicles Type make to compile the vehicle-sandbox.cpp file. Type make test to run the vehicle_test.cpp file. Type make coverage to find the code coverage on your tests.

Look at the following code for hints on completing this assignment: https://github.com/fuzzpault/UIndy-CSCI156-2016-Summer/tree/master/Week06-Inheritance-Poly

Task 2: Create a base class and sub-classes inside vehicle.h.

Create a vehicle.h file.

Your task is to create 4 classes, Bike, Car, Truck, Airplane. It is your job to choose appropriate types for all variables. Each class below should have its own constructor which specifies all parameters.

You MUST create a base class (Vehicle is a good name) to make your life easier!

Here are the specifications for the classes:

Bike class:

getColor, setColor - stored as a string.

getPrice - Returns a float. A new bike is $1000, and it depreciates 100 per year, down to 0.

1 passenger only

2 wheels

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

print - Returns a string of the details of the vehicle.

Car class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $5,000 per passenger, minus 500 depreciation per year, down to 100. +200 if it has air-conditioning. +100 if it has a DVD player.

getPassengers, setPassengers - 1 to 10 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getAir, setAir - Bool if the car has air-conditioning.

getDVD, setDVD - Bool if the car has a DVD player

4 wheels

print - Returns a string of the details of the vehicle.

Truck class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $10,000 base price, plus $1,000 per passenger, minus 500 depreciation per year, down to 200. $1.25 per carrying capability lb, $200 per wheel.

getPassengers, setPassengers - 1 to 4 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getCap, setCap - Int for the lb it can carry, up to 20,000.

getWheels, setWheels - 4 - 16 wheels, integer, must be even

print - Returns a string of the details of the vehicle.

Airplane class:

getColor, setColor - stored as a string.

getPrice - Returns a float. $15,000 base price, plus $1,000 per passenger, minus 500 depreciation per year, down to1000. $5.25 per carrying capability lb, $100 per prop.

getPassengers, setPassengers - 1 to 40 passengers.

getYear, setYear - stored as an int. Year built. Use the current year if the given value is in the future.

getCap, setCap - Int for the lb it can carry, up to 20,000.

getProps, setProps - 1+, integer

print - Returns a string of the details of the vehicle. If a vehicle has a set value (a bike only has 2 wheels), the setter exists but shouldnt do anything. All classes should only have a default constructor, you may have others, but they arent required. All variables must be private or protected. Use 2017 as the current year. (This is a constant at the top of vehicle.h) If a value is provided which is outside the allowed values (10000 passengers), dont do anything.

Task 3: Write at least 20 unit tests in vehicle_test.cpp for all functionality. Your goal is to have 100% coverage (90% for full credit).

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!