Programming in C++

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




      B( int n);





    cout << “B::B()n”;



B::B(int n)

   cout <<  â€œB::B(“ << n << “)n”;



Class D : Public B




      D( int n);


    B b;





    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.


"Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET15 to claim 15% Discount This Month!!":

Get started