Передача значений в другую функцию класса дает сумасшедшие значения при печати
Я пытаюсь использовать int number_of_groups return и передать его в функцию djecja_reduta это заголовочный файл, а затем распечатать его для первого karneval number_of_groups() выдает нормальные значения, но void djecja_reduta::number_of_groups() дает очень сумасшедшие результаты и случайные числа
Пример: я ввожу number_home_groups = 200 и number_foreign_groups = 300 при первом вызове он дает мне сумму 500, но после вызова djecja_reduta::number_of_groups() он дает мне 425232 выглядит как адрес для меня
class karneval { private: char name_carneval[30]; int number_home_groups; int number_foreign_groups; int sum; public:karneval() { int number_home_group(0); int number_foreign_groups(0); int sum(0); strcpy(name_carneval,""); } void input(); int number_of_groups(); }; void karneval :: input() { cout << "Input number home groups" << endl; cin >> number_home_groups; cout << "input number_foreign_groups" << endl; cin >> number_foreign_groups; } int karneval:: number_of_groups() { sum = number_home_groupa + number_foreign_groups; cout << "Suma je:" << sum << endl; return sum; } class djecja_reduta:public karneval { private: char mjesto_odrzavanja[30]; int datum_odrzavanja; public: void number_of_groups(); }; void djecja_reduta:: number_of_groups(){ karneval karneval; karneval.number_of_groups(); }
Это основной файл
int n; cout << "Inesert number of carnevals" << endl; cin >> n; karneval* a = new karneval[n]; djecja_reduta* b = new djecja_reduta[n]; for (int i = 0; i < n; i++) { cout << i + 1 << ".karneval" << endl; a[i].input(); } for (int i = 0; i < n; i++) { a[i].number_of_groups(); b[i].number_of_groups(); }
Выход:
Suma je:500
Сума Йе:4211069
Что я уже пробовал:
Попробовал использовать void и int для вызова функции