Chapter 20 program – inheritance and polymorphism | computer | Aaniiih Nakoda College

 

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<Ship*>& 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

Get 20% Discount on This Paper
Pages (550 words)
Approximate price: -

Try it now!

Get 20% Discount on This Paper

We'll send you the first draft for approval by at
Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Our Services

Custom Writings Help is a Quality-Oriented Company in Online Writing as a result of hiring exceptional professionals to execute clients' tasks.

Essays

Research Papers

At Custom Writings Help,We understand the struggle of research paper writing, and that is why at Custom WritingS Help, we are all out to help you. We pride ourselves on having a team of clinical writers. The stringent and rigorous vetting process ensures that only the 'BEST' Writers are chosen for the job. We have highly qualified Ph.D. and MA writers working with us; we equally offer these experienced writers specific bonuses and incentives to make them deliver highly original, unique, and informative content at reasonably low prices.

Admissions

Thesis Writing Service

Worlwide, Many Masters Students are struggling with Thesis Completion. A thesis is likely to be the longest and most challenging piece of work a student has ever completed. However, unlike essays and other assignments, a student can pick a particular interest topic and work on their initiative. Fortunately, we are there for you. At Custom Writings Help, you are assured of an authentic, imaginative, informative, linguistically great, and advantageous thesis that adheres to all your needs. So, why continue considering different writers when you have discovered the best in the field?

Editing

Custom Papers

Not a single student can avoid writing custom papers. However, a total lack of experience, skills, and time makes it very hard to produce a superb writing piece. Therefore, if you are seeking professional help, turn to us. Our specialized and experienced writers compose a variety of model papers, including custom essays, college term papers, research papers, book reports, MBA essays, executive summaries, dissertations, Ph.D. theses, admission essays, and research proposals for college and university students at any level.

Coursework

Essay Writing

Most of the students disregard the critical principles of essay writing and compose papers below sensible guidelines. Therefore, with Custom Writings Help, one should not worry about his/her essay. Our Writers compose informative and engaging content on all complexities and topics. We write meaningful and smart essays while prioritizing all aspects that bring about a good grade, such as impeccable grammar, proper structure, zero-plagiarism, and conformance to guidelines.

Coursework

Coourse Work Writing

Don't let the seemingly never-ending onslaught of writing assignments get you down. If you are looking where to get course work assistance online, the writers at Custom Writings Help are here to assist you with all of your writing needs. We undertake to unique delivery of papers that meet the professor's requirements. The content is proofread, edited, and checked plagiarism before submission to customers. No matter how big or small your work is, we will deliver on time. Try US Now! !

Coursework

Dissertation Writing Service

High-Quality Dissertation Writing Services are rare. They require Ph.D. academicians – not easily found. However, are an exception. The years, time, and resources we have invested in the dissertation world has given us a competitive advantage over others. Choose to come to Custom Writings Help; You will find perfect Ph.D. consultants who have written hundreds of dissertations theses ready to help you. Let our dissertation-writing services help you craft your dissertation, for you are assured we will give you the results.