BTW Elysia, rather than creating a new string class (since we already have so many to choose from), why not create some string algorithms and put them in a StrUtils namespace like I did.
That way, a few years from now, if you decided you don't like CString anymore and want to use std::string, you can still use all those string algorithms on the other string classes.
The syntax might be a bit uglier, but you can write things like:
Code:
StrUtils::ToUpper( str.begin(), str.end() );
To convert the string (whatever its type may be) into upper case.