Implementing a singly linked list in C++
Unnecessary member variables

You have a member variable curr that has no purpose as a member variable, because it is only used as a temporary pointer to iterate through your list.  You should make curr simply be a local variable in the functions it is used in.

The member variable temp is never used and should be deleted.

\$O(n)\$ add

Your addNode function takes linear time because it has to find the end of the list.  You should either add to the beginning of the list, or keep a tail pointer so that you can quickly add to the tail.