Целые числа не добавляются правильно, но двойники работают нормально - PullRequest
0 голосов
/ 07 мая 2019

Я знаю, что это не тот вопрос, который нужно задавать, но из-за жизни я не мог понять, что является причиной этой проблемы.

Мне нужно написать задачу, для которой нужно задать числоцелых или двойных чисел и возвращает их сумму.

Я написал код, чтобы сделать эту работу, проверяя каждый раз, когда я что-то изменил.

#include<iostream>
using namespace std;

template <class T>
class totalClass
{
private:
T *p;
T Total;
T sum;
int size;
public:
        T total(int x)
{
    size = x;
    p = new T[x];

    for (int i = 0; i < size; i++)
        p[i] = T();

    if (size > 1)
    {
        for (int i = 0; i < size; ++i)
        {
            cin >> sum;
            Total += sum;
        }
    }
    return Total;
}
};

int main()
{
int size, result1;
double result2;

cout << "Enter: ";
cin >> size;

cout << "the number of ints you wish to enter: Enter: " << size << " integers:";
totalClass<int> test;
result1 = test.total(size);
cout << " Total = " << result1 << endl;

cout << "Enter: ";
cin >> size;

cout << "the number of doubles you wish to enter: Enter: " << size << " doubles:";
totalClass<double> test2;
result2 = test2.total(size);
cout << " Total = " << result2 << endl;
}

Мои двойники складываютсяправильно, но мое целочисленное сложение всегда складывается в какое-то безумное число.Что-то не так с моей проблемой, которую я не вижу?

1 Ответ

0 голосов
/ 07 мая 2019

Если вы забудете инициализировать переменную и попытаетесь использовать ее или выполнить математическую обработку, вы можете получить «сумасшедшие числа». Убедитесь, что все ваши переменные инициализированы.

...