void visit( Bird & bird ) override { bird.fly(); }
void doFly(Bird& b) { cout << b.getType() << endl; b.fly(); cout << endl; }