| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > перегрузка оператора + для списков |
| Автор: Vadv 5.10.2008, 23:35 | ||
Приветствую, товарищи программисты Вывод должен быть таким: Список 1 : 1 2 3 4 5 Список 2: 3 4 5 6 Список 3=Список1 + Список 2=1 2 3 4 5 3 4 5 6. |
| Автор: J0ker 6.10.2008, 02:30 | ||||
вроде как-то так... писАл прямо тут - могут быть ошибки Добавлено @ 02:35 spisok (spisok&); должен быть spisok (const spisok&); и void print (); должен быть void print () const; и spisok (list *h); тут ни к чему - он нарушает инкапсуляцию (но см.ниже) Добавлено @ 02:44 вышеозначенный метод не очень рационален - будет создаваться и разрушаться лишний объект со всеми внутренностями можно сделать так (пишу только то, что нужно изменить):
здесь срабатывает return value optimization |
| Автор: Vadv 6.10.2008, 14:59 |
| J0ker, спасибо большое, вопрос снят! |
| Автор: UnrealMan 6.10.2008, 16:26 |
| Я б ещё на безопасность к исключениям обратил внимание. Если внутри цикла new выкинет исключение, то непонятно, кто будет освобождать выделенную память. |