//----------------------------------------------------- MyString MyString::operator+ (const char * const aCString) { MyString Temp; Temp.Assign(*this); Temp.Append(aCString); return Temp; }
//----------------------------------------------------- MyString MyString::operator+ (const MyString & aMyString) { MyString Temp; Temp.Assign(*this); Temp.Append(aMyString); return Temp; }
// Insert // Takes two arguments // An int – the index in this MyString // at which to insert the new chars // A MyString containing the chars to be inserted void MyString::Insert(const MyString & aMyString, int index) { if(index > _length) throw std::runtime_error("RAGEQUIT index is greater than Length()"); if(index < 0) throw std::runtime_error("RAGEQUIT index is less than zero"); MyString bMyString = aMyString; MyString returnString = MyString(); MyString subString = MyString(SubStr(index, _length - index)); returnString.Assign(SubStr(0, index)); returnString.Append(bMyString); returnString.Append(subString); Assign(returnString); }
// +, += (concatenation - takes a MyString or a c style string) MyString MyString::operator + (const MyString & aMyString) { MyString current; current.Append(this->_string); current.Append(aMyString); return current; }