![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.01.2010
Сообщений: 7
|
![]()
Есть класс "Packet", он должен принимать данные различных типов и добавлять их в массив (буфер).
Для удобства хотелось бы, чтобы добавлять данные можно было с помощью оператора "+". То есть так: Код:
Возможно ли это? Подскажите, пожалуйста. |
![]() |
![]() |
![]() |
#2 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Да. Добавляйте соответствующие методы:
Код:
Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#3 |
Регистрация: 03.01.2010
Сообщений: 7
|
![]()
А что делать с тем, что при вычислении правой части будут вызываться обработчики операторов не моего класса? Ведь они не смогут посчитать, например, "(BYTE)0x05 + "asdf";".
Придётся создавать классы своих типов данных (MyInt, MyWord, MyDword, MyChar), в которых перегружены операторы? |
![]() |
![]() |
![]() |
#4 | |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]() Цитата:
Код:
Ищете информацию по C++?
cplusplus.com |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 03.01.2010
Сообщений: 7
|
![]()
Не вышло. Сначала вычисляется то, что после знака равно.
Код:
Код:
|
![]() |
![]() |
![]() |
#6 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Ну, возможно. Тогда просто делайте так:
Код:
Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#7 |
Регистрация: 03.01.2010
Сообщений: 7
|
![]()
Получается, простым способом реализовать это не получится?
Хотелось бы именно "элемент + элемент2 + элемент3"... |
![]() |
![]() |
![]() |
#8 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]()
Как вариант - сделайте конструктор преобразования для своего класса, который будет неявным образом преобразовывать "элемент1", "элемент2" и т.д. к типу Packet, а складываться будут уже полученные объекты.
Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегрузка операторов | _-Re@l-_ | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 20.11.2010 13:23 |
Перегрузка операторов(С++) | Сергей AfeR | Помощь студентам | 0 | 16.06.2010 18:34 |
Перегрузка операторов | raspberry | Общие вопросы C/C++ | 2 | 06.04.2010 00:19 |
Перегрузка операторов. | Macb3th | Общие вопросы C/C++ | 5 | 01.04.2010 21:14 |
Перегрузка операторов, Организация перегрузки операторов | chagin_yav | Помощь студентам | 2 | 12.05.2008 09:15 |