遅くなりましたが、>>336さんありがとうございます。
一応動くようになったんですが、晒して見ます。
よろしければ突っ込み入れてください。

class UString
{
protected:
 char* m_sz;
 int m_len;

public:
 UString();
 UString(const char* a_sz);
 UString(const UString& a_str);
 ~UString();

 UString& operator = (const UString& a_str);
 UString& operator = (const char* a_sz);
 UString& operator += (const UString& a_str);

 int GetLengthSz(const char* a_sz);
 const char* GetSz();
 int GetLength();

 bool CopySz (char* a_dst, const char* a_src);
 bool EqualSz (const char* a_szA, const char* a_szB);

 friend UString& operator + (const UString& a_strA, const UString& a_strB);
 friend bool operator == (const UString& a_strA, const UString& a_strB);
 friend bool operator != (const UString& a_strA, const UString& a_strB);
 friend ostream& operator << (ostream& a_ostream, const UString& a_str);
};