3. Push_Back()
要在字符数组尾部插入一个元素,那就一定要先想到容量的问题,因此需要定义两个成员_sz,_capacity,_sz标记当前容量,_capacity表示每次扩大容量的个数,其次就可以用一个CheckCapacity()函数来解决容量问题,包括检测与增容。由于该函数是在用的时候自动检测,所以不需要被外部使用者知道,因此可以将此函数在类内声明为私有
private:
void CheckCapacity(int count)
{
if(_sz+count >= _capacity)
{
int newCapacity = 2*_capacity > (_capacity + count) ? 2*_capacity : (_capacity+count);
char* temp = new char[newCapacity];
strcpy(temp,_str);
delete[] _str;
_str = temp;
_capacity = newCapacity;
}
}
解决了容量的问题,接下来就可以插入了,只需将字符插入到最后一个位置并加上'
