Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vasyapupkin89
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
#1

Перегрузка - C++

24.12.2011, 01:07. Просмотров 324. Ответов 2
Метки нет (Все метки)

Дали задачу, на перегрузку строк вот один из операторов который надо перегрузить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
      stringg&  operator+=( stringg a) {
                            char *temp=new char [strlen(str)];
                             strcpy(temp,str);
                            delete [] str; 
                            str = new char [strlen(temp)+strle(a.str)]
                                                                //Использую для пердотвращения переполнения
                         
 
                                 strcpy(str,temp);
                                strcat(str,a.str);
                            
                            return *this ;}
Так вообще делать можно? У меня оно работает только до 252 символов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 01:07     Перегрузка
Посмотрите здесь:

C++ Перегрузка new
C++ C++ Перегрузка
C++ Перегрузка
C++ перегрузка
C++ Перегрузка << и >>
Перегрузка в c++ C++
C++ Перегрузка
C++ перегрузка []
C++ перегрузка >> и <<
перегрузка C++
C++ Перегрузка
C++ Перегрузка ++ и --

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_A_L
 Аватар для S_A_L
8 / 8 / 0
Регистрация: 22.12.2011
Сообщений: 14
24.12.2011, 01:40     Перегрузка #2
C++
1
2
3
4
5
6
7
8
9
10
const stringg& operator += ( const stringg &a )
{
    char *temp = new char [ strlen ( str ) + 1];
    strcpy ( temp, str );
    delete[] str;
    str = new char [ strlen ( temp ) + strlen ( a.str ) + 1];
    strcpy ( str, temp );
    strcat ( str, a.str );
    return *this;
}
vasyapupkin89
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
24.12.2011, 02:01  [ТС]     Перегрузка #3
Получается я про \0 забыл))) спасибо.
Yandex
Объявления
24.12.2011, 02:01     Перегрузка
Ответ Создать тему
Опции темы

Текущее время: 13:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru