Question
* This is in C++ My solution of 2.2: #include #include #include #include using namespace std; //Define a class named Car class Car { public:
* This is in C++
My solution of 2.2:
#include
//Define a class named Car class Car {
public:
char reportingMark[5]; int carNumber; string kind; bool loaded; string destination;
}; void input(Car *T); void output(Car *T); /* ******************** main ******************** Uses new to obtain space for the data structure Calls the other two functions Deletes the space obtained using new */ int main() { Car *T = new Car;
input(T); output(T);
delete T;
return 0;
}
/* ******************** inputData ******************** Allows user to input prompt for string input and store them in the array Reads all data from user */ void input(Car *T) { string str, s; cout > str; for (int i = 0; i reportingMark[i] = toupper(str[i]); cout > T->carNumber; cout > T->kind; cout > s; istringstream(s) >> boolalpha >> T->loaded; if (T->loaded == true) { cout destination); } else T->destination = "NONE"; }
/* ******************** output ******************** Print the data in a neat format */ void output(Car *T) { //print the results cout reportingMarkcarNumberkindloadeddestination Problem 3.1 Copy the solution from problem 2.2 Make the following additions and changes: 1. Arrange the functions in the order: * main * output * setUp (was setUpCar) * input 2. Change the output function so it is a member function of the class Car. 3. Change the name of the setUpCar function to setUp and make it a member function of the class Car, with five parameters specified as constant reference parameters. 4. Make all the data in the Car class private and make the member functions public. 5. Do NOT make the input function a member function. 6. Change the parameters of the input function to five reference parameters corresponding to the five fields in the class. 7. In main define five variables. Pass these variables to the input function so the input function can set their values. 8. In main define a Car object. This time the Car object will be in the stack for main, rather than in the heap. Name this object cari. 9. In main call the setUp function and pass the five variables, rather than calling it from the input function. 10. In main call the output function. 11. Test the program with the same data as was used in assignment 2. Problem 3.2 Copy the solution from problem 3.1 Make the following additions and changes: 1. Build three constructors and a destructor for your Car class: A constructor that accepts five constant reference parameters. Build this constructor with only one line of code that calls the setup member function. A copy constructor. A default constructor that sets the following values: reporting Mark (an empty string) carNumber kind other loaded false destination NONE A destructor that does nothing, basically a stub. 2. Arrange the constructors and destructor in the class before the other member functions in the order: default constructor, copy constructor, constructor that takes five constant reference parameters, destructor 3. Arrange the function definitions in the same order. 4. Remove the call to the setUp function from the main function. 5. Revise the main function to create three Car objects in the stack: 6. carl with the same values used in assignment B. 7. car2 which is a copy of carl. 8. car3 which is created with the default constructor. Now, add code in the main function to print these headings and use the Car member function to print the data for each of the three cars: Contents of car1: reporting Mark: carNumber: kind: loaded: destination: SP 34567 box true Salt Lake City SP Contents of car: reporting Mark: carNumber: kind: loaded: destination: 34567 box true Salt Lake City Contents of car3: reporting Mark: carNumber: kind: loaded: destination: other false NONE Problem 3.3 Copy the solution from problem 3.2 Create a friend function for the function operator== which tests to see if two objects are equivalent. The two objects are equivalent if they have the same reportingMark and number (do not look at the kind, loaded, and destination fields). Test with the following code in main: if (car1 == car2) cout
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started