s.top and temp.top are node pointers. So cout << is printing out the address of this pointer.
You need to access the actual value of the node, which is its .value.
Edit: As lastchance pointed, out, I meant top->value, not top.value.
Pointer. I must confess (like lastchance) I didn't even read the class. The error simply jumps out as a common error; accessing something as a memory address instead of actually intended data.