перегрузка operator+ c++

203
13 октября 2021, 16:30

я написал перегрузку оператора+ для класса Dinamic:

Dinamic operator+(const Dinamic& obj2)
{
    Dinamic temp;
    temp.size = (this->size+obj2.size);
    for(int i = 0; i < this->size;i++) 
    {
        temp.arr[i] = this->arr[i];
    }
    for(int i = (this->size);i < temp.size;i++)
    {
        temp.arr[i] = obj2.arr[i];
    }
    return temp;
}

в классе Dinamic есть поля:

private:
    int* arr;
    int size;

Вроде бы все норм но когда я пишу в main():

int main() 
{
    Dinamic x;
    Dinamic y;
    x.push_back(9);
    x.push_back(18);
    x.push_back(75);
    y.push_back(74);
    y.push_back(12);
    Dinamic z;
    z = x + y;
    z.PrintArray();

    RETURN;
} 

методы push_back() и PrintArray() работают идеально проблема именно в перегрузке.

в классе присутствуют логи я думаю это вам поможет:

Answer 1

Обратите внимание вот на эту строчку:

temp.arr[i] = obj2.arr[i]; 

Во втором массиве у вас неверно указан индекс. Должно быть так:

temp.arr[i] = obj2.arr[i - this->size];
READ ALSO
Управление SVG подключенного через img

Управление SVG подключенного через img

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

137
Создание кнопок [закрыт]

Создание кнопок [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

69
React не видит значение

React не видит значение

Я подключил к своему коду CRA(create-react-app), что бы разбить приложение на модули, но за ними пошли первые проблемыСегодня хочу её решить , есть код...

165