Деструкторы при итерации в C++
Приветствую! Не получается добить лабораторную по C++.
Проблема описана в заголовке: при итерации вызываются деструкторы.
Код немного сокращён для вашего обозрения - убраны методы чтения полей.
https://pastebin.com/z1xU4L8k
Векторы использованы с разрешения преподавателя
Она написала, что деструкторы вызываются из-за уничтожения временного объекта new_car (170-е строки), который на следующей итерации создаётся вновь. Я это понимаю, но не понимаю, как это предотвратить.
Вынужден изучать C++ чисто ради диплома о ВО, так-то я питонист

Ну, так ты создаёшь в цикле временный статический объект на каждой итерации, который ВНЕЗАПНО создаётся, потом уничтожается в конце итерации.
...
for (auto i = 0; i < 3; i++)
{
Car new_car(marks[i],powers[i],costs[i],displaces[i]);
...
}
...
И? Так и должно быть. Объект создаётся на каждой итерации ЗАНОВО. В обычном случае он будет даже тот же адрес занимать, но он СОЗДАЁТСЯ И УНИЧТОЖАЕТСЯ НА КАЖДОЙ ИТЕРАЦИИ.