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

Перегруженный оператор сложения строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция для сложения столбцов массива. http://www.cyberforum.ru/cpp-beginners/thread57458.html
Помогите пожалуйста записать функцию к задаче. Вот условия: Написать функцию, которая суммирует элементы столбцов двухмерного массива и заносит результаты в одномерный массив, размерность которого равна числу столбцов двухмерного массива. Написать программу, которая описывает двухмерный массиве размерностью 4*2, вводит этот массив с клавиатуры, помещает суммы столбцов этого массива в...
C++ словесное обозначение чисел В с++ есть словесное обозначение 0 (нуля) - NULL, интересно есть-ли у других чисел словесное обозначение (например 1, 2, 3, 4, 5........) ?? http://www.cyberforum.ru/cpp-beginners/thread57457.html
C++ Преобразование нулей и единиц в целое число
Прошу помощи!!Написать функцию, которая преобразует строку, содержащую произвольную последовательность нулей и единиц (двоичное число), в целое число. В главной программе ввести с клавиатуры строку нулей и единиц и вывести на экран соответствующее целое число. Работу про граммы завершить, если во введенной строке содержится хотя бы один символ, отличный от нуля или единицы.
Оцените информационный объем пушкинской фразы C++
Считая, что каждый символ кодируется 16-ю битами, оцените информационный объем следующей пушкинской фразы в кодировке Unicode: Привычка свыше нам дана: Замена счастию она. 1) 44 бита 2) 704 бита 3) 44 байта 4) 704 байта Решение: Сосчитаем количество символов в данной фразе(букв, пробелов, знаков препинания). Букв – 36 Пробелов – 6 Знаков препинания – 2. Итого символов –...
C++ Програма не работает полностью(((в чём ошибка? http://www.cyberforum.ru/cpp-beginners/thread57420.html
Написал програму для возведения числа в степень, не работает для дробных чисел и отрицательных степеней (( почему ?? Помогите Плз#include <iostream> using namespace std; int main(){ int n,j=-1,k=1; double i,w; cout<< "Enter your number: "; cin>> i ; cout<< "Enter a degree: "; cin >> n ; w=i;
C++ С++ Программы на функции Здраствуйте помогите пожайлуста с решением 2 задач на функции задача 1 используя перегрузку функции составить программу для решения произведения 7 введенных данных, целого или действительного типов задача 2 используя шаблон составить функцию для вызначения количества введенных с клавиатуры данных (чисел или символов) из заданного диапазона. Ввод данных совершается с помощу команды цикла. подробнее

Показать сообщение отдельно
RazorQ
 Аватар для RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
19.10.2009, 20:11     Перегруженный оператор сложения строк
Погрузился я с головой в ООП и напоролся на проблемы. Вообщем пишу я класс VString, само собой реализующий строку. В нем есть функция-друг
operator+
C++
1
2
3
4
5
6
VString operator+( const VString &str1, const char *str2 )
{
    VString tmp(str1);
    tmp += str2;
    return tmp;
}

которая производит конкатенцию двух строк. Все работает правильно (судя по немногочисленным тестам), но в этой ситуации происходит аварийный останов
C++
1
cout << str3 + " Hello world\n";
ошибка
Код
*** glibc detected *** /home/user/mylib/a.out: free(): invalid next size (fast): 0x0804c078 ***
Дальше дамп памяти. Я так понимаю, что во время сложения создается новый объект, а потом он удаляется. Что сделать?
З.Ы. если это поможет, то
VString::VString(const VString &init)
C++
1
2
3
4
5
6
7
8
9
10
11
12
// конструктор копий
VString::VString(const VString &init) : size(init.size)
{
    /*
     * не всегда правильно работает 
     */
    string = new char[size];
    ++countString;
    
    for(int i=0; i<size; i++)
        string[i] = init.string[i];
}

VString &VString::operator+=(const char *str1)
C++
1
2
3
4
5
6
VString &VString::operator+=(const char *str1)
 {
     strcat(string, str1);
     size = strlen(string);
     return *this;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru