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
Get step-by-step solutions from verified subject matter experts
