NIFZ and KFFZ subrecords store multiple strings separated by \0 character.
There is no need to have virtual functions.
To avoid explicit initialization. It should happen in the load functions anyway. * Move all non-zero initializations to corresponding class definition. * Replace std::vector by std::array when it has constant size.