Feb 19, 2012 at 8:23pm UTC
class Node
{
public:
int data;
Node * next;
};
Node *p1, *p2, *p3;
Assume also that the following statements have been executed:
p1 = new(nothrow) Node;
p2 = new(nothrow) Node;
p3 = new(nothrow) Node;
Tell what will be displayed by each of the following code segments or explain why an error occurs.
Question # 1
p1 -> data = 123;
p2 -> data = 456;
p1 -> next= p2;
p2 -> next= 0;
cout << p1 -> data << " " << p1 ->next->data << endl;
Question #2
p1 ->data = 12;
p2 -> data = 34;
p1 = p2;
cout << p1 -> data << " " << p2->data << endl;
Question #3
p1 ->data = 12;
p2 -> data = 34;
*p1 = *p2;
cout << p1 -> data << " " << p2->data << endl;
Question # 4
p1 -> data = 123;
p2 -> data = 456;
p1 -> next= p2;
p2 -> next= 0;
cout << p2 -> data << " " << p2 ->next->data << endl;
Question #5
p1 ->data = 12;
p2 -> data = 34;
p3 ->data = 34;
p1 ->next = p2;
p2 -> next = p3;
p3 -> next = 0;
cout << p1 -> data << " " << p1->next->data << endl;
cout << p2 -> data << " " << p2->next->data << endl;
cout << p1 -> next ->next->data <<endl;
cout << p3 ->data << endl;
I have attempted all of these and am not sure if I am right, my main issue is with the p1 = p2 in question 2, and the cout parts