Ответ в теме: Передача обьекта класса по сети

SFML и C++ Уроки \ Разработка игр Форумы SFML Network Передача обьекта класса по сети Ответ в теме: Передача обьекта класса по сети

#3195
RazorNd
RazorNd
Участник
Сообщений:46

Зарегистрирован:
04.02.2016

Репутация:38

mypmyp, в данном случае следует поступать точно также как и в случае, если мы хотим передавать в STL потоки свои классы, а именно нужно перегрузить операторы помещения и изъятия из потока данных (На самом деле скорее оператор побитового сдвига, но кто мы такие чтобы спорить с создателями STL? =D)

И так что нам нужно чтобы все это приготовить?

Ну что же начнем с класса который мы собираемся передавать в пакет. В качестве подопытного возьмем какой нибудь простенький класс

Дальше самое вкусное: перегрузим для него наши операторы:

Вся магия до не возможности проста: мы просто поочередно запихиваем все поля класса в пакет, поскольку перегрузка данной функции для отдельных полей класса у нас есть (в нашем случае для int). В случае если ваш класс содержит другие классы, то нужно перегрузить данные методы и для этих классов.
Распаковка пакета происходит точно также, как и упаковка за исключением смены оператора левого побитового сдвига на правый. © Кэп

Что же и осталось последнее – это посмотреть как это все будет использоваться.

Как видно использование ни чем не отличается от стандартных типов данных.

P.s.: спасибо, что терпели очередной выпуск программной кулинарии от RazorNd