Assignment D In Problem D1 we will use a file to contain the data which we will read into the program. In Problem D2 we will build a StringOfCar class which will contain a sequence of Car objects. Also, an operator= member function will be added to the Car class. Problem D1 1.Car constructors and destructor within the Car class definition a.default constructor b.copy constructor c.other constructors d.destructor 2.main 3.Car member functions declared within the Car class but defined later a.setup b.output 4.global functions a.operator== with Car parameters b.input In this problem, we will read cars from a file, rather than typing them in from the keyboard. Do the steps in order to build the solution to this problem. 1.Create a file to use for input. This is good because we will be using the input many times.Create a file containing the following three lines of data (Omit the heading line). 2.Modify the input function. Remove the & from the parameters in the function header, so they are all values rather than references. Move the parameters from the function header and put them within the input function, so they are now all local variables. Remove the parameters from the prototype for the input function, so it matches the function header. In the input function declare a string named carType. In the current file all the carType values are \"Car\". Later we will see different values. Open the file. If the open fails, send a message to stderr and exit the program. Use a loop to process each line from the file. Hint: you can do this with the following while statement, which loops as long as there is data in the file to be read: The peek function will return EOF if there is no more data, so we will leave the loop then.Within this loop, each line in the file will provide the data for a Car. In all the reads within the input function, There are two differences from the read activity in assignment C: Remove the user promp. We do not want it because we are reading from a file. read using the inputFile object, rather than using the stdin object. Read the carType field first. It just indicates that we are building an object of type Car. Read each of the fields: ARR, number, kind, loaded Always read the destination field even if the Car is not loaded. The destination will be NONE in the input file when that is the case. Hint: We need to use getline when reading the destination. using >> skips leading white space before reading the data. getline does not skip this leading whitespace. So, before using getline use the following code: peek looks at the next character you are about to read. If it is a space, get is used to read the space character, to get it out of the way. If the carType is \"Car\", declare a Car object named temp using the constructor that takes 5 parameters. Call the output function for the Car named temp. If the carType is not \"Car\", send an error message and do nothing. At the bottom of the input function, close the file. 3.Call the inp.