Lab 4 – Inheritance CPRG4202 – T. MacDonald thom.macdonald@durhamcollege.ca Oct 2014 Page 1 of 2 In Lab 2 and 3, you developed a class called WorkTicket. I have provided a header file called MyLab04WorkTicket.h which contains my version of the WorkTicket class, plus source code for a program that includes the header and tests the class using the requirements from Lab 2 and 3, called MyLab04WorkTicket_Test.cpp. Make sure these are saved to the same folder. In this lab you will use my version of the WorkTicket class to derive a new class called ExtendedWorkTicket. The class ExtendedWorkTicket inherits all the attributes of WorkTicket and adds a Boolean attribute called isOpen to indicate if the work ticket is open or closed. Requirements for ExtendedWorkTicket Class: ? Include an accessor called IsOpen() to get the isOpen value. ? The default constructor should initialize all the inherited attributes using the default constructor from the base class and the isOpen attribute should be initialized to true. ? The parameterized constructor should initialize all the inherited attributes using the parameterized constructor from the base class and the isOpen attribute should be initialized to the final parameter. ? Overload SetWorkTicket() to include one more parameter (default argument = true) to set the isOpen attribute. Call the base class version of SetWorkTicket() to set all the inherited attributes. Like the base class version of SetWorkTicket(), this method should only set the attributes and return true if all the parameters were valid. If not, none of the attributes should be set and it should return false. ? Override ShowWorkTicket() so that it calls the base class version of ShowWorkTicket() to display the inherited attributes, then displays either “Ticket: OPEN” or “Ticket: CLOSED” depending on the isOpen attribute. ? Include a mutator called CloseTicket() that will set the isOpen attribute to false. ? Overload the output (<<) operator to display all the object’s…