首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求写一个重载操作符+=,实现与C++中string类中的相同功能,多谢大家

2012-04-23 
求写一个重载操作符+,实现与C++中string类中的相同功能,谢谢大家~请大家帮我写一个重载操作符+,实现与C+

求写一个重载操作符+=,实现与C++中string类中的相同功能,谢谢大家~
请大家帮我写一个重载操作符+=,实现与C++中string类中的相同功能,效率越高越好。
  我是一初学者,希望能多加注释,谢谢大家帮忙!

[解决办法]
直接调用append函数

C/C++ code
_Myt& __CLR_OR_THIS_CALL operator+=(const _Myt& _Right)        {    // append _Right        return (append(_Right));        }_Myt& __CLR_OR_THIS_CALL append(const _Myt& _Right,        size_type _Roff, size_type _Count)        {    // append _Right [_Roff, _Roff + _Count)        if (_Right.size() < _Roff)            _String_base::_Xran();    // _Roff off end        size_type _Num = _Right.size() - _Roff;        if (_Num < _Count)            _Count = _Num;    // trim _Count to size        if (npos - _Mysize <= _Count || _Mysize + _Count < _Mysize)            _String_base::_Xlen();    // result too long        if (0 < _Count && _Grow(_Num = _Mysize + _Count))            {    // make room and append new stuff            _Traits_helper::copy_s<_Traits>(_Myptr() + _Mysize, _Myres - _Mysize,                _Right._Myptr() + _Roff, _Count);            _Eos(_Num);            }        return (*this);        } 

热点排行