Программа представлена на скрине.
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
void addCheese(Pizza&); - добавляет в заказ сыр
void removeOnion(Pizza&); - убирает из заказа лук
void togglePineapple(Pizza&); - переключает ананасы
void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы
чертим 2 пересекающихся круга.
12 чел на море
18 чел. в лагере
6 чел. и в лагере и на море (на пересечении кругов)
1) 18-6=12 (чел) -были только в лагере
2) 12-6=6 (чел) - были только на море
3) 12+6+6(и в лагере и на море)=24 ученика в кассе
ответ: в классе 24 ученика