Jak deklarujesz kota to randomuje wartość wiekową?
Nie musisz tworzyć tyle funkcji...
Można takie coś zrobić.
for(unsigned i=0;i<zwierzoki.size();i++)
{
(*zwierzoki[i]).daj_glos();
}
Jeśli chodzi o sortowanie, spróbuj takie coś, może pomoże:
inline bool porownaj(const Zwierz *f1,const Zwierz *f2)
{
return ((f1->rok)<(f2->rok));
}