![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Добрый день Всем.
Вот столкнулся с проблемой сериализацией. Есть два класса cA и cB.У cA есть два метод some_method_1() и some_method_2() в методе some_method_1() создается обект cB a в метод some_method_2() надо пеедать обект созданный в методе some_method_1().
Собственно вопрос. как сериализоварь обект pObj ?. или может можно обойти сериализацию и зделать как то подругому?A P.S без boos a --------------------
|
||||
|
|||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
По-моему если класс состоит только из POD элементов, то можно просто бинарно писать:
Это сообщение отредактировал(а) Xenon - 11.3.2007, 17:34 |
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Xenon, не понял куда бинарно писать? нме только надо передат в метод void some_method_2() ; обект зоданный в методе void some_method_1() ;
--------------------
|
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
knut, Я так понял под сериализацией ты имеешь ввиду запись в файл.
Тогда какие проблемы?.. Передавай указатель.
Или я чего-то не понимаю в вопросе |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
соxронить обект. --------------------
|
||||
|
|||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
knut, передать объект по указателю/ссылке/значению равно, в твоем случае, сериализации(сохранению)? Э?
|
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Xenon, в твое примере в методе some_method_2(cB* obj) я не получу тот же обект которы был создан в some_method_1().
Добавлено @ 18:36 в методе some_method_1() соьдается и инизализуется обект *pObj так вот в метод some_method_2() надо передать уже этот инизализированный обект *pObj . --------------------
|
||||
|
|||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
|
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
vinter, только ты забыл закоментить вызов второго метода в теле some_method_1, иначе some_method_1 будет возвращать уже удаленный объект.
knut, а чем тебе не нравиться вариант, предложенный Xenon'ом? Почему ты решил, что в some_method_2 не передается тот же объект, что был создан в some_method_1? И почему ты решил, что тебе нужна сериализация (кстати, что ты под ней понимаешь?) |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
vinter,
так не прокатет в смысле в some_method_2(cB* obj) надо передать полно инизализированный обект pObj (т.е some_method_1() вызовается не зависимао от вызова some_method_2(cB* obj),иx вызовы не как не должны быть связонны.) выполняется some_method_1() инизализует pObj .вот когда уже вузовается some_method_2(cB* obj) ему уже должно быть переданно иницалисованный *pObj ; P.S some_method_1() и some_method_2(cB* obj) они как load и save. Добавлено @ 19:00
см пост 11 --------------------
|
||||
|
|||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
knut, Сделай pObj переменной-членом класса cA
|
|||
|
||||
| Dark Elf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
||||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Dark Elf,
При чем в итоге непонятно чего хочет человек |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Только пофиксить это надо. От многоразового вызова some_method_1 - утечка памяти пойдёт (просто проверку поставить).
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Любитель, ну да
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
|
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Сделал я так (наxимичил)
как такой вариант? Добавлено @ 20:14 только без этого[quote]
--------------------
|
||||||
|
|||||||
| vinter |
|
||||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
как тебе такой вариант
Добавлено @ 20:18 твой код работать не будет, у тебя типы разные
и
|
||||||
|
|||||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
плохо все. Куча непонятно чего непонятно зачем. Такое впечатление, что ты сам плохо представляешь чего хочешь добиться |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
knut, ты объясни лаконично то, чего ты хочешь в результате получить. Мы не кусаемся - поможем. Просто до меня так до сих пор д оконца и не дошло чего ты хочешь. Ты опиши проблему абстрактно
Это сообщение отредактировал(а) Xenon - 11.3.2007, 21:16 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |