bool sortByWinningPercentage(const Team &team1, const Team &team2) { if (team1.getWinningPercentage() > team2.getWinningPercentage()) return true; else if (team1.getWinningPercentage() < team2.getWinningPercentage()) return false; // winning percentages are equal if (team1.getGamesPlayed() > team2.getGamesPlayed()) return true; else if (team1.getGamesPlayed() < team2.getGamesPlayed()) return false; // games played are equal if (team1.getName() < team2.getName()) return true; else if (team1.getName() > team2.getName()) return false; // Teams are the same. Impossible! But return true anyway; return true; }