So here is the question about this linked list. I understand linked list more then ever ,but the problem I am having now is with this. Listhenodes::Listthenodes() head = NULL. Here is what throws me off the functions say if (head != NULL) .... But in Listthenodes::Listthenodes head is set to NULL what is going on someone explain it for me.
Your abstractions are wrong. A linked list is a list of linked nodes. So Listthenodes is not a class, it's a member on a linked list or a function that takes a linked list as a parameter.
It makes no sense for a class called Listthenodes to have a member called Addnode.
Listthenodes::Listthenodes() initializes head = NULL, but that doesn't mean it stays NULL forever. I think if you look further down in the Addnode() method, you'll see that head gets set.
By the way, I think you'll find that temp and curr don't need to be members of Listthenodes. They can probably be local variables in the methods that need them.