When writing your insert functions: When the index to insert into the string is < 0 use the prepend functionality of your class. When the index to insert into the string is > the length of pString use the append functionality of your class.
You should only have to implement the logic of your functions in one place per function type. For example you should only have to write the append functionality once. Use that function from all of your other functions. I recommend placing your logic in the functions that take the char*. It is ease to create one of those and call it from the others.
Files to Submit