//Excerpt from the main function. wolf w(argument(s) for constructor); for (loop as many times as you want) { if (new(nothrow) rabbit(term) == 0) { cerr << "couldn't allocate memory for rabbit\n"; return EXIT_FAILURE; } } for (;; term.wait(250)) { w.move(); if (rabbit::size() <= 0) { goto done; } for (rabbit::const_iterator it = rabbit::begin(); it != rabbit::end();) { rabbit *const p = *it; ++it; if (!p->move()) { //The rabbit blundered into the wolf and was eaten. delete p; if (rabbit::size() <= 0) { goto done; } } } } done:; print "You killed all the rabbits!" in the upper left corner; pause for three seconds;