Вы всегда можете создать массив указателей, указывая на объекты автомобилей, а затем создать объекты в цикле for, как вы хотите, и сохранить их адрес в массиве, например:
#include <iostream>
class Car
{
private:
Car(){};
int _no;
public:
Car(int no)
{
_no=no;
}
void printNo()
{
std::cout<<_no<<std::endl;
}
};
void printCarNumbers(Car *cars, int length)
{
for(int i = 0; i<length;i++)
std::cout<<cars[i].printNo();
}
int main()
{
int userInput = 10;
Car **mycars = new Car*[userInput];
int i;
for(i=0;i<userInput;i++)
mycars[i] = new Car(i+1);
примечание новый способ !!!
printCarNumbers_new(mycars,userInput);
return 0;
}
Все, что вам нужно изменить в новом методе, - это обработка автомобилей как указателей, чем статических объектов в параметре, и при вызове метода printNo (), например:
void printCarNumbers_new(Car **cars, int length)
{
for(int i = 0; i<length;i++)
std::cout<<cars[i]->printNo();
}
на конец main хорош, чтобы удалить всю динамически распределенную память, подобную этой
for(i=0;i<userInput;i++)
delete mycars[i]; //deleting one obgject
delete[] mycars; //deleting array of objects
Надеюсь, я помог, ура!
Можно Бросить динамический Список для Списка С определенным типом:
List<'YourModel'>.from(_list.where((i) => i.flag == true));