Предупреждение
Нельзя использовать скобки для инициализации POD. Следующий код не скомпилируется:
PodStruct initialized_pod(42, "Hello", true);
Способ объявления классов зависит от стиля. Нет абсолютно никакой разницы между struct и class, кроме контроля доступа по умолчанию. Я предпочитаю использовать ключевое слово struct, потому что мне нравится, когда публичные члены перечислены первыми. Но в реальности встречаются все виды соглашений. Развивайте собственный стиль и придерживайтесь его.
Контроль доступа ограничивает доступ к членам класса. Основные средства контроля доступа — это публичность и приватность членов. Кто угодно может получить доступ к публичному члену, но только сам класс может получить доступ к своим приватным членам. Все члены struct по умолчанию публичны.