Skrip
09-08-2005, 17:07
Подскажите пожалуйста, почему функция не работает.
В привате str описан как указатель на char. В конструкторе инициирован так: str = new char [mas_size]
m_string m_string::operator+ (const m_string &sec)
{
int count_sec, count_str;
char *sum_str;
count_sec = stlen(sec);
while (str[count_str] != '\0') count_str++;
sum_str = new char[count_str + count_sec + 2];
for (int i = 0; i <= count_str; i++) sum_str[i] = str[i];
for (int i = 0; i <= count_sec; i++) sum_str[count_str + 2 + i] = sec.str[i];
sum_str[count_str + count_sec + 2] = '\0';
return *sum_str;
delete[] sum_str;
};
В привате str описан как указатель на char. В конструкторе инициирован так: str = new char [mas_size]
m_string m_string::operator+ (const m_string &sec)
{
int count_sec, count_str;
char *sum_str;
count_sec = stlen(sec);
while (str[count_str] != '\0') count_str++;
sum_str = new char[count_str + count_sec + 2];
for (int i = 0; i <= count_str; i++) sum_str[i] = str[i];
for (int i = 0; i <= count_sec; i++) sum_str[count_str + 2 + i] = sec.str[i];
sum_str[count_str + count_sec + 2] = '\0';
return *sum_str;
delete[] sum_str;
};