Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

can someone help me with this problem in cpp. thank you so much Via Rail has daily passenger service from Montreal to Toronto. This service

image text in transcribed

image text in transcribed

can someone help me with this problem in cpp. thank you so much

Via Rail has daily passenger service from Montreal to Toronto. This service has several stops which are Montreal, Dorval, Brockville, Kingston, Belleville, Toronto. A passenger may travel between any two stops, for example from Montreal to Kingston, or Brockville to Belleville. Define the following classes to manage the passenger reservation system of Via Rail for this route. Include one or more constructors, destructor and the necessary set and get functions for each class. Also, provide a print function for each class which outputs all the data members of that class. a) Define a class Date that has the following data members: month, day and year. b) Define a class Person with the following data members: The name of the person as a standard library string. The date of birth of the person (from part a). c) Define a class Passenger with the following data members: A Person object from part (b). An array that stores reservation request numbers. A passenger is allowed to book upto 5 future trips each being assigned a different request number. c) Define a Reservation Request class with the following data members, A Person object from part (b). An integer counter that generates reservation request numbers. An integer variable as a reservation request number. The counter is incremented by one each time a reservation request object is created, then this value is assigned as the reservation request number to a data member. Travelling date from part (a). Starting station of the trip. Destination station of the trip. Number of seats requested by the person, which may be 1..4. Reservation Manager class should provide at least the following additional member functions, Amember function that processes a reservation request received as a parameter. Reservation will be successful, if seats are available for all the passengers in the group for the entire trip. If reservation is successful it should return reservation request number otherwise zero. If reservation is successful, reservation object should be inserted to the reservation request array. If reservation is successful, you should check if this passenger is on the passenger array, if not passenger should be stored in this array. The reservation number should be added to the passenger object A member function that receives a reservation request number as a parameter and outputs the details of the reservation including seat assignments. A member function that receives a reservation request number and cancels reservation request. A member function that receives a date object as a parameter and then deletes all reservation requests booked for that travel date. A member function that receives a passenger object and date object as parameters and deletes all the reservation requests of that passenger older than the given date. e) A main function that creates Person objects and Reservation Requests objects. It calls to the Reservation Manager, member functions to process all Reservation Request tasks. Key Considerations for the assignment You must enforce encapsulation by keeping all data members private Person, Passenger and Reservation Request objects should be created using dynamic memory allocation and the objects that are not needed anymore should be deleted. There should be an output statement confirming the deletion of an object from the destructor function. In the implemented member functions the relevant data members should be updated. You need to make sure that your classes are well defined using the various concepts seen in the class including constant member functions, static members, inline functions, etc. Via Rail has daily passenger service from Montreal to Toronto. This service has several stops which are Montreal, Dorval, Brockville, Kingston, Belleville, Toronto. A passenger may travel between any two stops, for example from Montreal to Kingston, or Brockville to Belleville. Define the following classes to manage the passenger reservation system of Via Rail for this route. Include one or more constructors, destructor and the necessary set and get functions for each class. Also, provide a print function for each class which outputs all the data members of that class. a) Define a class Date that has the following data members: month, day and year. b) Define a class Person with the following data members: The name of the person as a standard library string. The date of birth of the person (from part a). c) Define a class Passenger with the following data members: A Person object from part (b). An array that stores reservation request numbers. A passenger is allowed to book upto 5 future trips each being assigned a different request number. c) Define a Reservation Request class with the following data members, A Person object from part (b). An integer counter that generates reservation request numbers. An integer variable as a reservation request number. The counter is incremented by one each time a reservation request object is created, then this value is assigned as the reservation request number to a data member. Travelling date from part (a). Starting station of the trip. Destination station of the trip. Number of seats requested by the person, which may be 1..4. Reservation Manager class should provide at least the following additional member functions, Amember function that processes a reservation request received as a parameter. Reservation will be successful, if seats are available for all the passengers in the group for the entire trip. If reservation is successful it should return reservation request number otherwise zero. If reservation is successful, reservation object should be inserted to the reservation request array. If reservation is successful, you should check if this passenger is on the passenger array, if not passenger should be stored in this array. The reservation number should be added to the passenger object A member function that receives a reservation request number as a parameter and outputs the details of the reservation including seat assignments. A member function that receives a reservation request number and cancels reservation request. A member function that receives a date object as a parameter and then deletes all reservation requests booked for that travel date. A member function that receives a passenger object and date object as parameters and deletes all the reservation requests of that passenger older than the given date. e) A main function that creates Person objects and Reservation Requests objects. It calls to the Reservation Manager, member functions to process all Reservation Request tasks. Key Considerations for the assignment You must enforce encapsulation by keeping all data members private Person, Passenger and Reservation Request objects should be created using dynamic memory allocation and the objects that are not needed anymore should be deleted. There should be an output statement confirming the deletion of an object from the destructor function. In the implemented member functions the relevant data members should be updated. You need to make sure that your classes are well defined using the various concepts seen in the class including constant member functions, static members, inline functions, etc

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Reliability Engineering Designing And Operating Resilient Database Systems

Authors: Laine Campbell, Charity Majors

1st Edition

978-1491925942

More Books

Students also viewed these Databases questions