· Locate the errors in the following code. You will notice, not every line will contain a mistake. Pay close attention to the line preceding it. Look out for uninitialized pointers, NULL pointers, pointers to deleted objects, and confusing pointers with objects.
1 int* p = new int;
2 p = 5;
3 *p = *p + 5;
4 Employee e1 = new Employee(“Hacker, Harry”, 34000);
5 Employee e2;
6 e2-set_salary(38000);
7 delete e2;
8 Time* pnow = new time ();
9 Time* t1 = new Time(2, 0, 0);
10 cout << t1-seconds_from(pnow);
11 delete*t1;
12 cout << t1-get_seconds();
13 Employee* e3 = new Employee(“Lin, Lisa”, 68000);
14 cout << e3.get_salary();
15 Time* t2 = new Time(1, 25, 0);
16 cout << *t2.get_minutes();
17 delete t2;
Part B
· Implement a class person with the following fields:
The nam
A pointer to the persons best friend
A popularity counter that indicates how many people have this person as their best friend
· Write a program that reads in a list of names, allocates a new Peron for every one of them, and places them in a vector<Person*. Next, request the name of each best friend for every Person objects. Find the object matching the friend’s name, and call a set_best_friend member function to update the pointer and counter. Lastly, print out every Person objects. Labeling the name, best friend, and popularity counter for all.
Part C
· Consider the following classes B and D:
Class B
{
Public;
B();
B( int n);
};
B::B()
{
cout << “B::B()n”;
}
B::B(int n)
{
cout << “B::B(“ << n << “)n”;
}
Class D : Public B
{
public:
D();
D( int n);
private:
B b;
};
D::D()
{
cout << “D::D()n”;
}
D::D(int n) : B(n)
{
b = B(-n);
cout << “D::D(“<< n <<”)n”;
}
What does the following program print?
int main()
{
D d(3);
return 0;
}
· Determine the answer by hand, not by compiling and running the program.
Part D
· Implement a base class person. Derive classes Student and Professor from Person. Every Person has will have a name, and birthdate. Every student will have a major, and every professor will have an income. Write the class definitions, the constructors, and the member functions print() for all classes.