To write linked list code, you first need to create the nodes. There are much better ways to handle list formation. If you're not sure how the destructor destroys the entire list, draw out a list with your crayon, and then pretend that you called the first node's destructor. Notice that when you delete the first node by calling its destructor, the next pointer gets deleted as well. The iterative way makes use of a while or for loop that has a fixed termination point.
Recursion relies on nested function calls to traverse the list.
Traversing the list recursively, like doing anything else recursively, may seem a bit obfuscated until you become familiar with the process of recursion. This is a big project, so I split it into sub-projects. In general, the easiest tasks are at the top of the list and the hardest ones are at the bottom. A great intro page is at The Code Project .