В C ++ нет различий между структурами и классами в этом отношении. Все они называются просто типами классов .
Члены типов классов не имеют значений по умолчанию в общем случае. Чтобы член класса получил детерминированное значение, он должен быть инициализирован , что может быть сделано с помощью
- Конструктор по умолчанию для самого члена
- Список инициализатора конструктора включающего класса
- Явно указанный инициализатор для объекта включающего класса (который включает инициализацию значения и инициализацию с помощью агрегатного инициализатора).
Кроме того, все объекты со статической продолжительностью хранения инициализируются нулями при запуске программы.
Помимо вышеперечисленных случаев, у членов класса, опять же, нет значений по умолчанию, и они изначально будут содержать непредсказуемые значения мусора.