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

определение оператора += - C++

Восстановить пароль Регистрация
 
mxs89
10 / 10 / 4
Регистрация: 13.04.2015
Сообщений: 140
Завершенные тесты: 1
07.11.2016, 20:40     определение оператора += #1
пишу класс, обертка над С строкой, объявил оператор +=

C++
1
2
3
4
5
6
7
8
9
10
11
12
class string
{
private:
char *sz_;
public:
string &operator+=(const char *sz)
{
...
}
}
string s = "";
s += "hi";


свойство класса пустая инициализированная строка, 4 символа, в отладчике - /0/0/0/0,
при входе в метод строка принимает вид /0hi/0

почему так происходит? неправильно определяю оператор?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2016, 20:40     определение оператора +=
Посмотрите здесь:

Перегрузка оператора = C++
C++ Определение класса, описывающего комплексное число. Перегрузка для него бинарного оператора "*"
C++ Классы, определение оператора []
C++ Перегрузка оператора
Вызов прегруженного оператора вывода в поток из аналогичного оператора C++
C++ Неправильная работа оператора присваивания после работы оператора суммирования
C++ Избыточное копирование объекта при реализации оператора умножения и оператора присваивания
C++ Перегрузка оператора

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
07.11.2016, 20:45     определение оператора += #2
Цитата Сообщение от mxs89 Посмотреть сообщение
неправильно определяю оператор?
Да.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2133 / 966 / 222
Регистрация: 30.11.2013
Сообщений: 3,231
07.11.2016, 20:51     определение оператора += #3
castaway, я минут 15 думал, что он мог там написать, чтобы был такой вывод до и после оператора. Какой конструктор и т.д. Долго ломал голову, а вы за 10 секунд решили проблему. Вот что значит опыт)
castaway
07.11.2016, 20:57
  #4

Не по теме:

rikimaru2013, я сам не сразу понял где кроется проблема. Оказалось что в многоточии...

mxs89
10 / 10 / 4
Регистрация: 13.04.2015
Сообщений: 140
Завершенные тесты: 1
07.11.2016, 21:08  [ТС]     определение оператора += #5
спасибо!
Yandex
Объявления
07.11.2016, 21:08     определение оператора +=
Ответ Создать тему
Опции темы

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