Главное отличие struct от class в C++ заключается в стандартном уровне доступа к членам:
public.private.Во всем остальном они функционально идентичны и могут использоваться как для определения структур данных без методов, так и для полноценных объектов с инкапсуляцией и наследованием.
Пример использования разного уровня доступа:
cpp