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


Поделитесь своими знаниями, ответьте на вопрос:
2.Индексная переменная - это целое число указывающие на конкретный элемент в массиве
3.for (инициализация; условие; приращение) оператор;
Цикл for может иметь большое количество вариаций. В наиболее общем виде принцип его работы следующий. Инициализация — это присваивание начального значения переменной, которая называется параметром цикла. Условие представляет собой условное выражение, определяющее, следует ли выполнять оператор цикла (часто его называют телом цикла) в очередной раз. Оператор приращение осуществляет изменение параметра цикла при каждой итерации. Эти три оператора (они называются также секциями оператора for) обязательно разделяются точкой с запятой. Цикл for выполняется, если выражение условие принимает значение ИСТИНА. Если оно хотя бы один раз примет значение ЛОЖЬ, то программа выходит из цикла и выполняется оператор, следующий за телом цикла for.
Оператор for - это основной оператор цикла. Циклы с таким оператором используются в JavaScript чаще всего.
а). Полноформатный оператор цикла for состоит из заголовка, содержащего Выражение_1, Условие и Выражение_2, и исполняемого тела цикла, обрамлённого фигурными скобками.
б). Если в операторе for тело цикла составляет один оператор, то фигурные скобки можно опустить.
в). Допускается отсутствие Выражения_1, Условия и Выражения_2. При этом наличие разделяющего знака ; (точка с запятой) обязательно.
Правило исполнения оператора for: При передаче управления оператору for исполнить Выражение_1. Пока Условие оператора for является истинным: передать управление первому оператору тела цикла, а после выполнения всех операторов тела цикла исполнить Выражение_2 и передать управление в заголовок для проверки истинности Условия. Если Условие оператора for является ложным, то: передать управление оператору, следующему за оператором for.
4. Зацикливание — В программировании бесконечным циклом называется цикл, написанный таким образом, что условие выхода из него никогда не выполняется. О программе, вошедшей в бесконечный цикл, иногда говорят, что она зациклилась. А вторая часть вопроса, честно говоря, только на практике известна. Стандартные выход из ситуации ctrl+break, а если насовсем, то диспетчер или alt+f4. А так, кодами, кодами..Больше ничем не могу, увы.