Chapter 20 program – inheritance and polymorphism | computer |

FIND A SOLUTION AT Academic Writers Bay

 

Write a program that will create a CruiseShip class and CargoShip class both derived from an abstract Ship class.

You will need seven files for this program:

  • ship.h
  • ship.cpp
  • cruiseship.h
  • cruiseship.cpp
  • cargoship.h
  • cargoship.cpp
  • main.cpp – main() function and other functions as described

These files have been provided for you.

Part 1 ship.h and ship.cpp (10 Points)

ship.h

Place the following in your Ship class

  • private (Do not make this protected. Values should be passed from the child class to the parent class using constructor initializer list in the child constructor)
    • member variable called name that is a string
    • member variable called yearBuilt that is a string
  • public
    • Constructor. Two parameter constructor. First parameter is a string for name. Second parameter is a string for yearBuilt. DO NOT CODE A DEFAULT CONSTRUCTOR
    • Two getters
      • getName() should return the name
      • getYearBuilt() should return the year built
    • A virtual function of type void called print(). No parameters. Note: This is a virtual function NOT a pure virtual function
    • A pure virtual function of type void called makeItGo(). No parameters. Note: This is a pure virtual function

Note: This class will not have any setters

ship.cpp

Implementation Notes

  • The constructor should take two string parameters. The first parameter should be assigned to name. The second parameter should be assigned to yearBuilt
  • getName() should return name
  • getYearBuilt() should return yearBuilt
  • print() should cout the name of the ship on one line and the year built on another line. The second line should end with an end line. See the example
Name: The Name of This Ship
Year Built: 2020

Note: Do not implement makeItGo(). It is a pure virtual function and should not be implemented in the abstract class. It will be implemented in the derivied class.

Part 2 cruiseship.h and cruiseship.cpp (15 Points)

cruiseship.h

The CruiseShip class should publicly inherit from the Ship class. Place the following in your CruiseShip class

  • private
    • member variable called maxPassengers this is an int
  • public
    • Constructor. Three parameter constructor. First parameter is a string for name. Second parameter is a string for yearBuilt. Third parameter is an int for maxPassengers. DO NOT CODE A DEFAULT CONSTRUCTOR
    • One getter
      • getMaxPassengers() should return the maxPassengers
    • Override function of type void called print(). No parameters.
    • Override pure virtual function of type void called makeItGo(). No parameters. This function should not be a pure virtual function in this class

Note: This class will not have any setters

cruiseship.cpp

Implementation Notes

  • The constructor should take two string parameters and one int parameter. The constructor should call the parent constructor using an initializer list passing it the parameters for name and yearBuilt. The int parameter should be assigned to maxPassengers.
  • getMaxPassengers() should return maxPassengers
  • print() should call the print function from the parent and then should cout the maxPassengers on another line. The third line should end with an end line. See the example
Name: The Name of This Ship
Year Built: 2020
Maximum passengers: 250
  • You will need to implement the function makeItGo(). It should cout the text “The cruise ship goes woo woo!”. There should be no end line the after the text. See the example
The cruise ship goes woo woo!

Part 3 cargoship.h and cargoship.cpp (15 Points)

cargoship.h

The CargoShip class should publicly inherit from the Ship class. Place the following in your CargoShip class

  • private
    • member variable called tonnage this is an int
  • public
    • Constructor. Three parameter constructor. First parameter is a string for name. Second parameter is a string for yearBuilt. Third parameter is an int for tonnage. DO NOT CODE A DEFAULT CONSTRUCTOR
    • One getter
      • getTonnage() should return the tonnage
    • Override function of type void called print(). No parameters.
    • Override pure virtual function of type void called makeItGo(). No parameters. This function should not be a pure virtual function in this class

Note: This class will not have any setters

cargoship.cpp

Implementation Notes

  • The constructor should take two string parameters and one int parameter. The constructor should call the parent constructor using an initializer list passing it the parameters for name and yearBuilt. The int parameter should be assigned to tonnage.
  • getTonnage() should return tonnage
  • print() should call the print function from the parent and then should cout the tonnage on another line. The third line should end with an end line. See the example
Name: The Name of This Ship
Year Built: 2020
Cargo capacity: 27 tons
  • You will need to implement the function makeItGo(). It should cout the text “The cargo ship goes toot toot!”. There should be no end line the after the text. See the example
The cargo ship goes toot toot!

Part 4 main.cpp (5 Points)

The function main() is complete and should not be modified.
You will need to complete the function void loadShips(vector& vShip, string fileName)
On line 68, you will need to create a CruiseShip and add to vector vShip.
On line 72, you will need to create a CargoShip and add to vector vShip.
Note: Keep in mind that vShip is a vector of pointers to Ship. Both CruiseShip and CargoShip will need to be pointers in order to add them to vShip

 

“CUSTOM PAPER”
Order Your Custom Paper
Best Custom Essay Writing Services

QUALITY: 100% ORIGINAL PAPER NO PLAGIARISM – CUSTOM PAPER

Why Choose Us?

  • 100% non-plagiarized Papers
  • 24/7 /365 Service Available
  • Affordable Prices
  • Any Paper, Urgency, and Subject
  • Will complete your papers in 6 hours
  • On-time Delivery
  • Money-back and Privacy guarantees
  • Unlimited Amendments upon request
  • Satisfaction guarantee
SATISTACTION

How It Works

  • Click on the “Place Your Order” tab at the top menu or “Order Now” icon at the bottom and a new page will appear with an order form to be filled.
  • Fill in your paper’s requirements in the “PAPER DETAILS” section.
  • Fill in your paper’s academic level, deadline, and the required number of pages from the drop-down menus.
  • Click “CREATE ACCOUNT & SIGN IN” to enter your registration details and get an account with us for record-keeping and then, click on “PROCEED TO CHECKOUT” at the bottom of the page.
  • From there, the payment sections will show, follow the guided payment process and your order will be available for our writing team to work on it.

About AcademicWritersBay.com

AcademicWritersBay.com is an easy-to-use and reliable service that is ready to assist you with your papers 24/7/ 365days a year. 99% of our customers are happy with their papers. Our team is efficient and will always tackle your essay needs comprehensively assuring you of excellent results. Feel free to ask them anything concerning your essay demands or Order.

AcademicWritersBay.com is a private company that offers academic support and assistance to students at all levels. Our mission is to provide proficient and high quality academic services to our highly esteemed clients. AcademicWritersBay.com is equipped with competent and proficient writers to tackle all types of your academic needs, and provide you with excellent results. Most of our writers are holders of master’s degrees or PhDs, which is an surety of excellent results to our clients. We provide assistance to students all over the world.
We provide high quality term papers, research papers, essays, proposals, theses and many others. At AcademicWritersBay.com, you can be sure of excellent grades in your assignments and final exams.

NO PLAGIARISM
error: Content is protected !!