Ваш конструктор реализован неправильно.
karneval() {
char naziv_karnevala[30] = "";
int broj_domacih_grupa = 0;
int broj_stranih_grupa = 0;
int suma = 0;
}
Здесь переменные являются локальными переменными функции. Они не совпадают с переменными-членами класса. Следовательно, переменные-члены не инициализируются должным образом. Это, скорее всего, вызывает проблемы вниз по течению. Измените его на:
karneval() : broj_domacih_grupa(0),
broj_stranih_grupa(0),
suma(0)
{
std::strcpy(naziv_karnevala, "");
}
Обновление в ответ на комментарии ОП
Вывод
b[i].number_of_groups();
всегда будет нулевым с вашим кодом. В этой функции у вас есть
karneval karneval;
karneval.number_of_groups();
То, что karneval
не зависит от объектов, которые вы выделили и предоставили вход для main
.
Кроме того, объекты в a
в main
и отличается от объектов в b
. Вы собираете данные только для a
. Объекты в b
имеют состояние по умолчанию.
Мне не ясно, что вы пытаетесь сделать и какое поведение вы ожидаете от программы. Из-за этого я не могу дать более конструктивной обратной связи.