Question
Topics: Introduction to classes (continued) Overloading function names Abstract data types Friend functions Overloading operators Use the same format for problem and function headings as
Topics:
Introduction to classes (continued)
Overloading function names
Abstract data types
Friend functions
Overloading operators
Use the same format for problem and function headings as assignment 1.
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 car1.
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.
Solution 2.2 Below:
#include
using namespace std;
class car{ public: string reportingmark; int carnumber; string kind; bool loaded; string destination; };
void setUpCar(car &c, string rm, int cn, string kind, bool loaded, string d){ c.reportingmark = rm; c.carnumber = cn; c.kind = kind; c.loaded = loaded; c.destination = d; }
void input(car &c){ string rm; int cn; string kind; bool loaded; string destination; cout << "Enter reporting mark:"; getline(cin,rm); cout << "Enter car number:"; string line; getline(cin,line); cn = atoi(line.c_str()); cout << "Enter kind:"; getline(cin,kind); cout << "Enter loaded(true/false):"; getline(cin,line); if (line == "true") loaded = true; else if (line == "false") loaded = false; if (loaded){ cout << "Enter Destination:"; getline(cin,destination); } else { destination = "NONE"; } setUpCar(c,rm,cn,kind,loaded,destination);
}
void output(car c){ cout << "Reporting Mark:" << c.reportingmark << endl; cout << "Car Number:" << c.carnumber << endl; cout << "Kind:" << c.kind << endl; if (c.loaded) cout << "Loaded:" << "true" << endl; else cout << "Loaded:" << "false" << endl; cout << "Destination:" << c.destination << endl;
}
int main(){
car *c = new car(); input(*c); output(*c); return 0; }
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