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

Перегрузка оператора '+' для char* вне класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ no operator found which takes a right/left-hand operand of type "AR" http://www.cyberforum.ru/cpp-beginners/thread907671.html
Нашел на форуме исходник программы, собрал, но выдает ошибку описанную выше #include <iostream> #include <conio.h> #include <string.h> #include <assert.h> using namespace std; class AR{ ...
C++ В предложении найти все слова, отличные от последнего Такие дела, дали задание, при этом ничего не объяснили, я хз как тут делать добрые форумчане, помогите пожалуйста;) В предложении найти все слова, отличные от последнего. В каждом найденном слове... http://www.cyberforum.ru/cpp-beginners/thread907666.html
C++ Считать с файла информацию о команде "Название" "Город", количество побед, поражений, ничьих, забитых и пропущенных мячей
Здравствуйте. Необходимо написать программу С++ : "Считать с файла информацию о команде "Название" "Город", количество побед, поражений, ничьих, забитых и пропущенных мячей. Программа должна...
Задана вещественная матрица размером m×n. Найти наибольший элемент. Перестановкой строк и столбцов, добиться того, чтобы данный элемент оказался в вер C++
Задана вещественная матрица размером m×n. Найти наибольший элемент. Перестановкой строк и столбцов, добиться того, чтобы данный элемент оказался в верхнем левом углу. Добавлено через 3 минуты Ну...
C++ Замена символов в строке http://www.cyberforum.ru/cpp-beginners/thread907619.html
Как заменить первый символ в строке "k" на "c" ? И последний "с" на "k" ? Вообще ума не приложу, помогите пожалуйста
C++ Создание папки с именем, которое находится в переменной типа string Нужно программно создать папку с именем, которое находится в переменной типа string Пытаюсь сделать так string ident("name"); CreateDirectoryW("TEXT(D:\\mydir"+ident), NULL); подробнее

Показать сообщение отдельно
TamaGOch
9 / 9 / 0
Регистрация: 11.12.2012
Сообщений: 152

Перегрузка оператора '+' для char* вне класса - C++

20.06.2013, 14:50. Просмотров 508. Ответов 5
Метки (Все метки)

Хочу перегрузить конкатенацию массивов char'ов через операцию '+'.
Не могу понять, возможно ли запустить следующую конструкцию, подправив её конечно же перед этим.
Информация, которая есть в интернете по этому поводу путает, не получается собрать всё в единое целое.
Я представляю себе это как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char* operator+ (char* first, char* second)
{
    int len_1 = Lenght (first), len_2 = Lenght (second);
    char* res = new char [len_1 + len_2 + 1]; up++;
    for (int i = 0; i < len_1; i++)
    {
        res [i] = first [i];
    }
    for (int i = 0; i < len_2; i++)
    {
        res [i + len_1] = second [i];
    }
    res [len_1 + len_2] = 0;
    return res;
}
п.с. функция Lenght (char* str) у меня возвращает длину строки, не считая нуль-терминатор
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.