void shelter::enqueue(Animal &newitem) { if (typeid(newitem)==typeid(Cat)) { Cat *newcat; newcat = new Cat(newitem); newcat->SetOrder(ID++); cat.push(newcat); } else { Dog *newdog; newdog = new Dog(newitem); newdog->SetOrder(ID++); dog.push(newdog); } }