union union_name {type"! member"!;...typeN memberN; } [object_list];
Спецификатор union объявляет класс с названием «объединение» и может содержать в одной и той же области данных взаимоисключающие данные разных типов. В отличие от класса, определенного с помощью спецификатора class, члены класса union по умолчанию открыты (имеют тип доступа public). Размер области данных объединения определяется размером члена, занимающего максимальную память. Тип union — частный случай типа struct (см. раздел «struct»).