class PlayerInfo { public: PlayerInfo(string name); string getName(); virtual Move getMove(GameState state); private: string name; };
getMove is declared virtual so that it can be polymorphically overridden by the AutomatedPlayerInfo class.