Four part assignment

Pointer Errors and Inheritance

Part A

  • 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.

"Is this question part of your assignment? We can help"

ORDER NOW