CPP Logical questions Solution

Need your ASSIGNMENT done? Use our essay writing service to score better and meet your deadline.


Order a Similar Paper Order a Different Paper

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 name

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.

 

#include <iostream>

#include <string>

#include <vector>

#include <iomanip>

 

using namespace std;

 

class Person

{

public :

       Person(string name = “N/A” , int popularity = 0, Person* bfriend = NULL);

 

       string getName();

       void setName(string name);

 

       int getPopularity();

       void setPopularity(int pop);

 

       string getBestFriend();

       void setBestFriend(Person* bfriend);

private :

       string name;  //The name

       Person* bestfriend;  //A pointer to the persons best friend

       int popularity;      //A popularity counter that indicates how many people have this person as their best friend

};

 

Person::Person(string fname, int fpopularity, Person* bfriend)

{

       name = fname;

       popularity = fpopularity;

       bestfriend = bfriend;

}

 

string Person::getName()

{

       return name;

}

 

void Person::setName(string fname)

{

       name = fname;

}

 

int Person::getPopularity()

{

       return popularity;

}

 

void Person::setPopularity(int pop)

{

       popularity = pop;

}

 

string Person::getBestFriend()

{

       return bestfriend->getName();

}

 

void Person::setBestFriend(Person* bfriend)

{

       bestfriend = bfriend;

}

 

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

 

 

OUTPUT:

 

 

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.