Сохрнаить класс на диск
От: TailWind  
Дата: 11.04.10 16:45
Оценка:
Хочу сохранить такой класс на диск

class A
{
ULONG z;
virtual ~A(){}
}

Засада в том, что sizeof(A) возвращает 4 + 4 = 8
То есть размер переменной z плюс указатель на таблицу виртульных функций

Если я запишу эти 8 байт на диск,
перекомпилирую прогу, указатель на таблицу виртуальных функций измениться
Потому я загружу эти 8 байт в память по указателю класса
И скорее всего прога выпадет с ошибкой

Как быть?
виртуальные функции нужны, чтобы пользоваться dynamic_cast
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.