Wow, if you managed to fix that you are my superhero Not only do you implement a string as a linked list but string actually is nothing but a linked list node!
I wonder about this line in your code:
Given normal operator semantics apply this shouldn't do anything, or does it? Just like the following doesn't do anything:
Code:
int n = 0;
n + 10;
//n still 0
I also wonder about your operator=. Why does it seem like you are trying to assign to the right-hand value? With int's it would look like this?
Code:
int n = 0;
10 = n;
//n now equals 10
There's probably much much more weirdness going on. You should probably test all your functionality more thoroughly. And operator << and >> wouldn't hurt either for input and output.