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

Утечка при перегрузки оператора "+" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив и работа с файлами http://www.cyberforum.ru/cpp-beginners/thread123721.html
Было дано задание: Массив определять как динамический. Исходные данные и результаты размещать в текстовых файлах. Обработку массивов оформить в виде функций. Элемент матрицы называется локальным...
C++ При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере: При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере: 30% сумм годового платежа при страховании на 2 месяца; 40% - 3... http://www.cyberforum.ru/cpp-beginners/thread123720.html
C++ Изучение С++!
Помогите, пожалуйста! Хочу научиться программированию. Подскажите с чего мне начать! Какая литература очень легка в освоении и эффективеа при обучении?
C++ Вычислить k-тое число последовательности целых простых чисел
Уважаемые эксперты, пожалуйста подскажите как правильно написать программу. Необходимо вычислить k-тое число последовательности целых простых чисел (где k>1) вот то что я сам накосячил:...
C++ Самый редко встречаемый символ http://www.cyberforum.ru/cpp-beginners/thread123689.html
Задан массив A. Найти самый редко встречаемый символ. Может быть пригодится кому, но вот исходник задачи обратной - самый часто встречаемый символ. #include <iostream.h> int main() { int...
C++ Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. Вот, собственно и условие: Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. Пожалуйста, помогите решить. подробнее

Показать сообщение отдельно
Alexandoros
228 / 66 / 4
Регистрация: 02.06.2009
Сообщений: 280
30.04.2010, 16:51
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
andString operator+(const andString &left, const andString &right)
{
    andString asOpTemp;
    // !! delete [] asOpTemp->sTring; !! - здесь у тебя ваще вылет должен быть
 
    asOpTemp.nLenght = left.nLenght + right.nLenght + 1;
    asOpTemp.sTring = new char[asOpTemp.nLenght];
           ZeroMemory(asOpTemp.sTring, asOpTemp.nLenght);
    strcpy(asOpTemp.sTring, left.sTring);
    strcat(asOpTemp.sTring, right.sTring);
 
    return asOpTemp;
 
}
////.....////
Ф-ция operator+ - френд. + Обязательно нужно реализовать конструктор копирования.
+ Можно реализовать перегрузку присваивания, перегрузку += и ф-цию swap. Тогда код можно вообще упростить и "украсивить".
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru