Когда вы возвращаете объекты из класса, когда подходящее время освободить память?
Пример,
class AnimalLister
{
public:
Animal* getNewAnimal()
{
Animal* animal1 = new Animal();
return animal1;
}
}
Если я создаю экземпляр Animal Lister и получаю от него ссылку на Animal, то где я должен его удалить?
int main() {
AnimalLister al;
Animal *a1, *a2;
a1 = al.getNewAnimal();
a2 = al.getNewAnimal();
}
Проблема здесь в том, что AnimalLister не имеет способа отслеживать список созданных животных, поэтому как мне изменить логику такого кода, чтобы иметь способ удалять созданные объекты.