C++ Recursive List Program