locator, это естественно

нельзя писать в файлы без каких преобразований не POD структуры. О причинах тебе расказали Finch и Алексей1153++
Я для запись классов и архивов в файл или в буфер для последующей передачи по сети
ипользую boost::serialize(о чем написано не однократно в том числе и мной) причем он позволяет делать сериализацию не только в бинарное представление, но и в текст и XML + контроль версий и еще что-то чем я не пользуюсь

очень полезная вещь

и не надо изобретать велосипед
запись класса в файл(за исключением инициализации архива из двух строк) будет выглядеть вот так:
ar << MyClass;
чтение
ar >> MyClass;