Причина, по которой вы получаете значения мусора (в вашем случае большие отрицательные числа), заключается в том, что вы не инициализируете A
или B
для каких-либо значимых значений, а затем вы не обновляете sum
при вызове num1
или num2
.
Вы должны инициализировать A
и B
чем-то значимым в классе или, по крайней мере, инициализировать его по умолчанию.
Затем вам нужно обновить sum
в num1
, например:
int Array::num1()
{
int x = 3;
int y = 4;
A = x + y;
sum[0] = A; // <- add this
cout << A << endl;
return A;
}
и выполните аналогичные действия внутри num2
.
У вас также есть 2 переменные W
и Q
внутри вашего класс, который, кажется, не служит какой-либо цели. Помимо проблемы с неправильной инициализацией их значениями мусора, они вам даже не нужны; вместо этого вы можете использовать A
и B
.