class == struct
единственное отличие состоит в том, что в структуре все члены, то есть ivars и методы, по умолчанию являются открытыми.
статические члены, т.е. переменные или методы, не являются частью класса / структуры в том смысле, что они не принадлежат конкретному экземпляру. поэтому sizeof не будет включать их.
union
не является ни классом, ни структурой, Union используется для сопоставления структуры с определенным макетом памяти.
чтобы получить размер, просто выполните sizeof()
переменной экземпляра, и вы увидите.