Не раскрыта тема о классе House. Не видя его трудно что-то сказать.
Но могу предположить, что в House, например, поле address является std::stringом.
А std::string хранит свою строку в динамической памяти и sizeof(std::string) в общем случае совсем не равен размеру хранящейся в нем строки. Записывая в файл sizeof(std::string) байт вы записываете грубо говоря только адрес памяти где лежит строка и размер строки, но не саму строку.
Вам нужно делать нормальную сериализацию/десериализацию полей объекта House.