Программа представлена на скрине.
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
void addCheese(Pizza&); - добавляет в заказ сыр
void removeOnion(Pizza&); - убирает из заказа лук
void togglePineapple(Pizza&); - переключает ананасы
void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы
А вот жёлтый светофильтр используется исключительно при цветной печати. Правда, толку от него при этом немного. Потому что получаемый при такого прибора световой поток настолько мал, что разве что определять своё положение в пространстве. Поэтому раньше, при ручной печати цветных фотографий, фотографы предпочитали работать в полной темноте.
Плёнка, кстати, даже чёрно - белая, при красном фонаре однозначно будет засвечена.